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.
Files changed (2085) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +640 -0
  2. package/Build/Workers/chunk-2363JE27.js +163 -0
  3. package/Build/Workers/chunk-23T2IPHV.js +55 -0
  4. package/Build/Workers/chunk-27SAH2Q2.js +55 -0
  5. package/Build/Workers/chunk-2AM4E2WD.js +101 -0
  6. package/Build/Workers/chunk-2H4D4HBM.js +101 -0
  7. package/Build/Workers/chunk-2KBLMCYQ.js +198 -0
  8. package/Build/Workers/chunk-2MWF4IES.js +398 -0
  9. package/Build/Workers/chunk-2O7PRNCW.js +288 -0
  10. package/Build/Workers/chunk-2RCIRXNI.js +75 -0
  11. package/Build/Workers/chunk-3JIEAYRM.js +940 -0
  12. package/Build/Workers/chunk-3VNQVXD6.js +837 -0
  13. package/Build/Workers/chunk-3XR54LVR.js +75 -0
  14. package/Build/Workers/chunk-3YTMGEXW.js +1443 -0
  15. package/Build/Workers/chunk-3ZP3VA4L.js +171 -0
  16. package/Build/Workers/chunk-4AKOLNCZ.js +139 -0
  17. package/Build/Workers/chunk-4BHWJWS3.js +171 -0
  18. package/Build/Workers/chunk-4QSCEADX.js +1800 -0
  19. package/Build/Workers/chunk-4ZKQXB7T.js +1460 -0
  20. package/Build/Workers/chunk-4ZX6BO6C.js +476 -0
  21. package/Build/Workers/chunk-55NHNEI7.js +163 -0
  22. package/Build/Workers/chunk-5F3SUA6W.js +8366 -0
  23. package/Build/Workers/chunk-5FBLADWD.js +692 -0
  24. package/Build/Workers/chunk-5H7FXJTE.js +2719 -0
  25. package/Build/Workers/chunk-5JKH4AMT.js +58 -0
  26. package/Build/Workers/chunk-5MTUN2SE.js +642 -0
  27. package/Build/Workers/chunk-5PWCXSID.js +256 -0
  28. package/Build/Workers/chunk-5RL7XAZS.js +256 -0
  29. package/Build/Workers/chunk-5TZVQOFD.js +305 -0
  30. package/Build/Workers/chunk-67FTKXPJ.js +352 -0
  31. package/Build/Workers/chunk-6AIBN5NQ.js +1054 -0
  32. package/Build/Workers/chunk-6D6BOTSA.js +414 -0
  33. package/Build/Workers/chunk-6FGAWC5J.js +44 -0
  34. package/Build/Workers/chunk-6HKAPCSO.js +280 -0
  35. package/Build/Workers/chunk-6UJDVUJ4.js +8366 -0
  36. package/Build/Workers/chunk-73Q77JO7.js +138 -0
  37. package/Build/Workers/chunk-7A6QUBKY.js +58 -0
  38. package/Build/Workers/chunk-7APZZMCL.js +73 -0
  39. package/Build/Workers/chunk-7BHC3VOI.js +511 -0
  40. package/Build/Workers/chunk-7GQHESFY.js +368 -0
  41. package/Build/Workers/chunk-7MVC3OLP.js +58 -0
  42. package/Build/Workers/chunk-7UNMLR74.js +1800 -0
  43. package/Build/Workers/chunk-A2QTGP5S.js +55 -0
  44. package/Build/Workers/chunk-A3FZIBXG.js +55 -0
  45. package/Build/Workers/chunk-A53R2F2L.js +305 -0
  46. package/Build/Workers/chunk-A6LIUE7X.js +692 -0
  47. package/Build/Workers/chunk-A6YFUGJO.js +139 -0
  48. package/Build/Workers/chunk-AJYWXC6I.js +97 -0
  49. package/Build/Workers/chunk-ALTIGQTT.js +288 -0
  50. package/Build/Workers/chunk-AOIO5VUS.js +8366 -0
  51. package/Build/Workers/chunk-AT2CG6PG.js +3514 -0
  52. package/Build/Workers/chunk-ATX74V7S.js +55 -0
  53. package/Build/Workers/chunk-AZPXT6RB.js +1067 -0
  54. package/Build/Workers/chunk-B7JRBTT6.js +682 -0
  55. package/Build/Workers/chunk-BALMTCKJ.js +138 -0
  56. package/Build/Workers/chunk-BBYRID6W.js +352 -0
  57. package/Build/Workers/chunk-BDX4AYXL.js +162 -0
  58. package/Build/Workers/chunk-BG2DK4Q5.js +101 -0
  59. package/Build/Workers/chunk-BSNC3NBZ.js +139 -0
  60. package/Build/Workers/chunk-BZLYQCIC.js +958 -0
  61. package/Build/Workers/chunk-C4NX77B5.js +57 -0
  62. package/Build/Workers/chunk-CHNDJRYA.js +1054 -0
  63. package/Build/Workers/chunk-CJOV55CW.js +1067 -0
  64. package/Build/Workers/chunk-COGPE5Z2.js +241 -0
  65. package/Build/Workers/chunk-CRCK5VX6.js +497 -0
  66. package/Build/Workers/chunk-CTLQNSVP.js +455 -0
  67. package/Build/Workers/chunk-CW7W27IZ.js +299 -0
  68. package/Build/Workers/chunk-DICY26ID.js +2719 -0
  69. package/Build/Workers/chunk-DLAVWLZW.js +682 -0
  70. package/Build/Workers/chunk-DMEFNTUV.js +1317 -0
  71. package/Build/Workers/chunk-DQSJEOZY.js +55 -0
  72. package/Build/Workers/chunk-F6UXXCPK.js +3514 -0
  73. package/Build/Workers/chunk-FKIR6F3B.js +97 -0
  74. package/Build/Workers/chunk-FRBZJJVU.js +2719 -0
  75. package/Build/Workers/chunk-FRLH26PM.js +940 -0
  76. package/Build/Workers/chunk-FT6HYEKU.js +3514 -0
  77. package/Build/Workers/chunk-FYDCQ2VN.js +73 -0
  78. package/Build/Workers/chunk-G5OKIL5P.js +55 -0
  79. package/Build/Workers/chunk-G6VHLVWG.js +101 -0
  80. package/Build/Workers/chunk-GBGV4U6Z.js +219 -0
  81. package/Build/Workers/chunk-GDU4RZSZ.js +940 -0
  82. package/Build/Workers/chunk-GJRVCSXV.js +37 -0
  83. package/Build/Workers/chunk-GKWOUMYA.js +37 -0
  84. package/Build/Workers/chunk-GNDFFW5Z.js +1443 -0
  85. package/Build/Workers/chunk-GNQ5BH75.js +352 -0
  86. package/Build/Workers/chunk-GNQUZV4R.js +171 -0
  87. package/Build/Workers/chunk-GOCJHCLA.js +352 -0
  88. package/Build/Workers/chunk-GTY4K4IA.js +219 -0
  89. package/Build/Workers/chunk-GXBTJBHN.js +102 -0
  90. package/Build/Workers/chunk-H6Q7E4BQ.js +114 -0
  91. package/Build/Workers/chunk-HEGESGGY.js +219 -0
  92. package/Build/Workers/chunk-HG3HIMYL.js +241 -0
  93. package/Build/Workers/chunk-HGEYVFMI.js +1800 -0
  94. package/Build/Workers/chunk-HHGOFZVQ.js +124 -0
  95. package/Build/Workers/chunk-HXEVICMT.js +37 -0
  96. package/Build/Workers/chunk-HXKUEOOD.js +352 -0
  97. package/Build/Workers/chunk-I4REFVXB.js +256 -0
  98. package/Build/Workers/chunk-IL5F6WEE.js +497 -0
  99. package/Build/Workers/chunk-IOODZNYE.js +629 -0
  100. package/Build/Workers/chunk-IVLDVV5R.js +788 -0
  101. package/Build/Workers/chunk-IWP4XCPO.js +778 -0
  102. package/Build/Workers/chunk-JBTUZNI2.js +398 -0
  103. package/Build/Workers/chunk-JMSXZ6AI.js +414 -0
  104. package/Build/Workers/chunk-JTGVXCP2.js +2058 -0
  105. package/Build/Workers/chunk-JUK2ZSWT.js +198 -0
  106. package/Build/Workers/chunk-K6HQ5W6R.js +171 -0
  107. package/Build/Workers/chunk-KC3G7WHZ.js +57 -0
  108. package/Build/Workers/chunk-KGPKBCGY.js +97 -0
  109. package/Build/Workers/chunk-KKGD7HAW.js +414 -0
  110. package/Build/Workers/chunk-KQSN3QZM.js +368 -0
  111. package/Build/Workers/chunk-KROSQJUA.js +44 -0
  112. package/Build/Workers/chunk-L4JLDVCM.js +57 -0
  113. package/Build/Workers/chunk-LAOFDSKL.js +642 -0
  114. package/Build/Workers/chunk-LIYMRHGR.js +387 -0
  115. package/Build/Workers/chunk-LKCCQ3AW.js +198 -0
  116. package/Build/Workers/chunk-LLQFSX7U.js +139 -0
  117. package/Build/Workers/chunk-LSDXP6EX.js +75 -0
  118. package/Build/Workers/chunk-LTYK7VYQ.js +138 -0
  119. package/Build/Workers/chunk-LYMP3LWI.js +387 -0
  120. package/Build/Workers/chunk-M2WCZSU6.js +241 -0
  121. package/Build/Workers/chunk-M35VLUHY.js +352 -0
  122. package/Build/Workers/chunk-MAPGTIYK.js +2058 -0
  123. package/Build/Workers/chunk-MG6SYM3V.js +455 -0
  124. package/Build/Workers/chunk-MKMZHRB3.js +788 -0
  125. package/Build/Workers/chunk-MNR7L6SQ.js +1483 -0
  126. package/Build/Workers/chunk-MO25ZQ2I.js +958 -0
  127. package/Build/Workers/chunk-MOCL5YUJ.js +8366 -0
  128. package/Build/Workers/chunk-MRYY6ETH.js +280 -0
  129. package/Build/Workers/chunk-NAIA5L2S.js +682 -0
  130. package/Build/Workers/chunk-NMDV3OGH.js +958 -0
  131. package/Build/Workers/chunk-NYE77VTA.js +1054 -0
  132. package/Build/Workers/chunk-O6RZEKHZ.js +778 -0
  133. package/Build/Workers/chunk-OFOJ5HD6.js +1460 -0
  134. package/Build/Workers/chunk-OJNNQSZI.js +788 -0
  135. package/Build/Workers/chunk-OJXQBSG4.js +692 -0
  136. package/Build/Workers/chunk-OOCGX2OD.js +102 -0
  137. package/Build/Workers/chunk-OOY3DP7Z.js +788 -0
  138. package/Build/Workers/chunk-OSDDHXLU.js +1483 -0
  139. package/Build/Workers/chunk-OVZNLF46.js +241 -0
  140. package/Build/Workers/chunk-OXFU5HNU.js +162 -0
  141. package/Build/Workers/chunk-P5CGIJUY.js +73 -0
  142. package/Build/Workers/chunk-POLLOX2O.js +352 -0
  143. package/Build/Workers/chunk-POUR54ZW.js +37 -0
  144. package/Build/Workers/chunk-PR6F33M6.js +682 -0
  145. package/Build/Workers/chunk-Q6GCDF2J.js +44 -0
  146. package/Build/Workers/chunk-Q7HIBRGE.js +97 -0
  147. package/Build/Workers/chunk-QCJPQ5CQ.js +57 -0
  148. package/Build/Workers/chunk-QDKQNKG3.js +256 -0
  149. package/Build/Workers/chunk-QDTDTLQY.js +1067 -0
  150. package/Build/Workers/chunk-QEANVUGT.js +163 -0
  151. package/Build/Workers/chunk-QFBCIX7J.js +455 -0
  152. package/Build/Workers/chunk-QIKGPNLN.js +299 -0
  153. package/Build/Workers/chunk-QTKDUHWH.js +497 -0
  154. package/Build/Workers/chunk-QUAH3XOT.js +138 -0
  155. package/Build/Workers/chunk-R4MI537H.js +1443 -0
  156. package/Build/Workers/chunk-R5GL5C3T.js +1483 -0
  157. package/Build/Workers/chunk-RBAGNNPN.js +219 -0
  158. package/Build/Workers/chunk-RH6GMTSG.js +497 -0
  159. package/Build/Workers/chunk-RHJJWKSH.js +73 -0
  160. package/Build/Workers/chunk-RHV6AHJW.js +305 -0
  161. package/Build/Workers/chunk-RUZPDKUX.js +114 -0
  162. package/Build/Workers/chunk-RXZDTDIY.js +439 -0
  163. package/Build/Workers/chunk-SCSEVBY4.js +102 -0
  164. package/Build/Workers/chunk-SKMYTWWS.js +299 -0
  165. package/Build/Workers/chunk-SKVAQOZZ.js +1443 -0
  166. package/Build/Workers/chunk-SPA2KPH3.js +368 -0
  167. package/Build/Workers/chunk-STDNU6SV.js +1460 -0
  168. package/Build/Workers/chunk-SXOBEELD.js +55 -0
  169. package/Build/Workers/chunk-SYDXDJY5.js +2058 -0
  170. package/Build/Workers/chunk-SZ4ALZDU.js +305 -0
  171. package/Build/Workers/chunk-T2AGEECA.js +387 -0
  172. package/Build/Workers/chunk-T5ZG4SFF.js +1067 -0
  173. package/Build/Workers/chunk-TDSVSW5A.js +1460 -0
  174. package/Build/Workers/chunk-TJF36YYN.js +837 -0
  175. package/Build/Workers/chunk-TNZHNGKK.js +439 -0
  176. package/Build/Workers/chunk-TTWIV2BN.js +102 -0
  177. package/Build/Workers/chunk-TX3TQPIA.js +44 -0
  178. package/Build/Workers/chunk-TYPTCQPI.js +1317 -0
  179. package/Build/Workers/chunk-TZA4ZWFC.js +75 -0
  180. package/Build/Workers/chunk-UFDTAQBE.js +476 -0
  181. package/Build/Workers/chunk-UG2DPFOL.js +352 -0
  182. package/Build/Workers/chunk-UG3AH5C3.js +629 -0
  183. package/Build/Workers/chunk-UPPGWBJU.js +511 -0
  184. package/Build/Workers/chunk-URGEDZBS.js +476 -0
  185. package/Build/Workers/chunk-V35NQOJC.js +642 -0
  186. package/Build/Workers/chunk-VDNDTTCD.js +958 -0
  187. package/Build/Workers/chunk-VQIKTYAO.js +368 -0
  188. package/Build/Workers/chunk-VRXHACYU.js +476 -0
  189. package/Build/Workers/chunk-VTYZVS6I.js +455 -0
  190. package/Build/Workers/chunk-VVNCCJGH.js +398 -0
  191. package/Build/Workers/chunk-W4V3BNFU.js +114 -0
  192. package/Build/Workers/chunk-W4XUEDU5.js +2058 -0
  193. package/Build/Workers/chunk-W7UYJE5O.js +2719 -0
  194. package/Build/Workers/chunk-WB4TSSBQ.js +3514 -0
  195. package/Build/Workers/chunk-WGZVYW2C.js +124 -0
  196. package/Build/Workers/chunk-WNFIOIKE.js +414 -0
  197. package/Build/Workers/chunk-WNHOCO2K.js +280 -0
  198. package/Build/Workers/chunk-WQG2W2WD.js +837 -0
  199. package/Build/Workers/chunk-WTLYD4FE.js +1483 -0
  200. package/Build/Workers/chunk-WV2G6UNC.js +940 -0
  201. package/Build/Workers/chunk-WVC3OW5V.js +629 -0
  202. package/Build/Workers/chunk-WWQFFOV6.js +299 -0
  203. package/Build/Workers/chunk-XD7QHRAY.js +288 -0
  204. package/Build/Workers/chunk-XH6GW5M4.js +58 -0
  205. package/Build/Workers/chunk-XIX2VR7Z.js +778 -0
  206. package/Build/Workers/chunk-XJYSONL4.js +1054 -0
  207. package/Build/Workers/chunk-XP6ASNFM.js +1317 -0
  208. package/Build/Workers/chunk-XRDMBCX3.js +439 -0
  209. package/Build/Workers/chunk-XUA6BCV5.js +642 -0
  210. package/Build/Workers/chunk-XVBMYEYQ.js +124 -0
  211. package/Build/Workers/chunk-XWOAVRWZ.js +124 -0
  212. package/Build/Workers/chunk-Y4ALZ4SS.js +198 -0
  213. package/Build/Workers/chunk-Y4GOZA56.js +163 -0
  214. package/Build/Workers/chunk-YF2NVO5B.js +837 -0
  215. package/Build/Workers/chunk-YGVXG7IR.js +114 -0
  216. package/Build/Workers/chunk-YI7RTZGC.js +280 -0
  217. package/Build/Workers/chunk-YM4UTBTX.js +1800 -0
  218. package/Build/Workers/chunk-YP5ZF2MJ.js +162 -0
  219. package/Build/Workers/chunk-YSSL4KKM.js +387 -0
  220. package/Build/Workers/chunk-YSYSXSHF.js +629 -0
  221. package/Build/Workers/chunk-YX562XOB.js +692 -0
  222. package/Build/Workers/chunk-YZWA5B4R.js +511 -0
  223. package/Build/Workers/chunk-Z6DFT4D3.js +288 -0
  224. package/Build/Workers/chunk-Z6PVZUIE.js +398 -0
  225. package/Build/Workers/chunk-ZAI6LCSI.js +511 -0
  226. package/Build/Workers/chunk-ZBIINVUF.js +778 -0
  227. package/Build/Workers/chunk-ZG3TBDRX.js +1317 -0
  228. package/Build/Workers/chunk-ZGXHZJ75.js +439 -0
  229. package/Build/Workers/chunk-ZWDOE2JF.js +162 -0
  230. package/Build/Workers/combineGeometry.js +66 -0
  231. package/Build/Workers/createBoxGeometry.js +58 -0
  232. package/Build/Workers/createBoxOutlineGeometry.js +231 -0
  233. package/Build/Workers/createCircleGeometry.js +201 -0
  234. package/Build/Workers/createCircleOutlineGeometry.js +147 -0
  235. package/Build/Workers/createCoplanarPolygonGeometry.js +505 -0
  236. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +225 -0
  237. package/Build/Workers/createCorridorGeometry.js +1258 -0
  238. package/Build/Workers/createCorridorOutlineGeometry.js +563 -0
  239. package/Build/Workers/createCylinderGeometry.js +60 -0
  240. package/Build/Workers/createCylinderOutlineGeometry.js +231 -0
  241. package/Build/Workers/createEllipseGeometry.js +72 -0
  242. package/Build/Workers/createEllipseOutlineGeometry.js +65 -0
  243. package/Build/Workers/createEllipsoidGeometry.js +59 -0
  244. package/Build/Workers/createEllipsoidOutlineGeometry.js +61 -0
  245. package/Build/Workers/createFrustumGeometry.js +58 -0
  246. package/Build/Workers/createFrustumOutlineGeometry.js +234 -0
  247. package/Build/Workers/createGeometry.js +173 -0
  248. package/Build/Workers/createGroundPolylineGeometry.js +1602 -0
  249. package/Build/Workers/createPlaneGeometry.js +223 -0
  250. package/Build/Workers/createPlaneOutlineGeometry.js +124 -0
  251. package/Build/Workers/createPolygonGeometry.js +1404 -0
  252. package/Build/Workers/createPolygonOutlineGeometry.js +532 -0
  253. package/Build/Workers/createPolylineGeometry.js +491 -0
  254. package/Build/Workers/createPolylineVolumeGeometry.js +374 -0
  255. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +272 -0
  256. package/Build/Workers/createRectangleGeometry.js +1264 -0
  257. package/Build/Workers/createRectangleOutlineGeometry.js +476 -0
  258. package/Build/Workers/createSimplePolylineGeometry.js +397 -0
  259. package/Build/Workers/createSphereGeometry.js +116 -0
  260. package/Build/Workers/createSphereOutlineGeometry.js +116 -0
  261. package/Build/Workers/createTaskProcessorWorker.js +32 -0
  262. package/Build/Workers/createVectorTileClampedPolylines.js +492 -0
  263. package/Build/Workers/createVectorTileGeometries.js +387 -0
  264. package/Build/Workers/createVectorTilePoints.js +114 -0
  265. package/Build/Workers/createVectorTilePolygons.js +386 -0
  266. package/Build/Workers/createVectorTilePolylines.js +262 -0
  267. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +91 -0
  268. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +565 -0
  269. package/Build/Workers/createVerticesFromHeightmap.js +2254 -0
  270. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +499 -0
  271. package/Build/Workers/createWallGeometry.js +487 -0
  272. package/Build/Workers/createWallOutlineGeometry.js +335 -0
  273. package/Build/Workers/decodeDraco.js +369 -0
  274. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +2666 -0
  275. package/Build/Workers/decodeI3S.js +1339 -0
  276. package/Build/Workers/gaussianSplatSorter.js +62 -0
  277. package/Build/Workers/gaussianSplatTextureGenerator.js +68 -0
  278. package/Build/Workers/incrementallyBuildTerrainPicker.js +121 -0
  279. package/Build/Workers/transcodeKTX2.js +3463 -0
  280. package/Build/Workers/transferTypedArrayTest.js +41 -0
  281. package/Build/Workers/upsampleQuantizedTerrainMesh.js +820 -0
  282. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +95 -0
  283. package/LICENSE.md +928 -0
  284. package/README.md +3 -0
  285. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
  286. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
  287. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
  288. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
  289. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
  290. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
  291. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
  292. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
  293. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
  294. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
  295. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
  296. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
  297. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
  298. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
  299. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
  300. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
  301. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
  302. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
  303. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
  304. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
  305. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
  306. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
  307. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
  308. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
  309. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
  310. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
  311. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
  312. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
  313. package/Source/Assets/Images/bing_maps_credit.png +0 -0
  314. package/Source/Assets/Images/cesium_credit.png +0 -0
  315. package/Source/Assets/Images/google_earth_credit.png +0 -0
  316. package/Source/Assets/Images/ion-credit.png +0 -0
  317. package/Source/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
  318. package/Source/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
  319. package/Source/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
  320. package/Source/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
  321. package/Source/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
  322. package/Source/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
  323. package/Source/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
  324. package/Source/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
  325. package/Source/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
  326. package/Source/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
  327. package/Source/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
  328. package/Source/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
  329. package/Source/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
  330. package/Source/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
  331. package/Source/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
  332. package/Source/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
  333. package/Source/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
  334. package/Source/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
  335. package/Source/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
  336. package/Source/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
  337. package/Source/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
  338. package/Source/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
  339. package/Source/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
  340. package/Source/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
  341. package/Source/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
  342. package/Source/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
  343. package/Source/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
  344. package/Source/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
  345. package/Source/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
  346. package/Source/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
  347. package/Source/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
  348. package/Source/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
  349. package/Source/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
  350. package/Source/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
  351. package/Source/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
  352. package/Source/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
  353. package/Source/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
  354. package/Source/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
  355. package/Source/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
  356. package/Source/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
  357. package/Source/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
  358. package/Source/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
  359. package/Source/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
  360. package/Source/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
  361. package/Source/Assets/Textures/NaturalEarthII/tilemapresource.xml +14 -0
  362. package/Source/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
  363. package/Source/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
  364. package/Source/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
  365. package/Source/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
  366. package/Source/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
  367. package/Source/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
  368. package/Source/Assets/Textures/maki/airfield.png +0 -0
  369. package/Source/Assets/Textures/maki/airport.png +0 -0
  370. package/Source/Assets/Textures/maki/alcohol-shop.png +0 -0
  371. package/Source/Assets/Textures/maki/america-football.png +0 -0
  372. package/Source/Assets/Textures/maki/art-gallery.png +0 -0
  373. package/Source/Assets/Textures/maki/bakery.png +0 -0
  374. package/Source/Assets/Textures/maki/bank.png +0 -0
  375. package/Source/Assets/Textures/maki/bar.png +0 -0
  376. package/Source/Assets/Textures/maki/baseball.png +0 -0
  377. package/Source/Assets/Textures/maki/basketball.png +0 -0
  378. package/Source/Assets/Textures/maki/beer.png +0 -0
  379. package/Source/Assets/Textures/maki/bicycle.png +0 -0
  380. package/Source/Assets/Textures/maki/building.png +0 -0
  381. package/Source/Assets/Textures/maki/bus.png +0 -0
  382. package/Source/Assets/Textures/maki/cafe.png +0 -0
  383. package/Source/Assets/Textures/maki/camera.png +0 -0
  384. package/Source/Assets/Textures/maki/campsite.png +0 -0
  385. package/Source/Assets/Textures/maki/car.png +0 -0
  386. package/Source/Assets/Textures/maki/cemetery.png +0 -0
  387. package/Source/Assets/Textures/maki/cesium.png +0 -0
  388. package/Source/Assets/Textures/maki/chemist.png +0 -0
  389. package/Source/Assets/Textures/maki/cinema.png +0 -0
  390. package/Source/Assets/Textures/maki/circle-stroked.png +0 -0
  391. package/Source/Assets/Textures/maki/circle.png +0 -0
  392. package/Source/Assets/Textures/maki/city.png +0 -0
  393. package/Source/Assets/Textures/maki/clothing-store.png +0 -0
  394. package/Source/Assets/Textures/maki/college.png +0 -0
  395. package/Source/Assets/Textures/maki/commercial.png +0 -0
  396. package/Source/Assets/Textures/maki/cricket.png +0 -0
  397. package/Source/Assets/Textures/maki/cross.png +0 -0
  398. package/Source/Assets/Textures/maki/dam.png +0 -0
  399. package/Source/Assets/Textures/maki/danger.png +0 -0
  400. package/Source/Assets/Textures/maki/disability.png +0 -0
  401. package/Source/Assets/Textures/maki/dog-park.png +0 -0
  402. package/Source/Assets/Textures/maki/embassy.png +0 -0
  403. package/Source/Assets/Textures/maki/emergency-telephone.png +0 -0
  404. package/Source/Assets/Textures/maki/entrance.png +0 -0
  405. package/Source/Assets/Textures/maki/farm.png +0 -0
  406. package/Source/Assets/Textures/maki/fast-food.png +0 -0
  407. package/Source/Assets/Textures/maki/ferry.png +0 -0
  408. package/Source/Assets/Textures/maki/fire-station.png +0 -0
  409. package/Source/Assets/Textures/maki/fuel.png +0 -0
  410. package/Source/Assets/Textures/maki/garden.png +0 -0
  411. package/Source/Assets/Textures/maki/gift.png +0 -0
  412. package/Source/Assets/Textures/maki/golf.png +0 -0
  413. package/Source/Assets/Textures/maki/grocery.png +0 -0
  414. package/Source/Assets/Textures/maki/hairdresser.png +0 -0
  415. package/Source/Assets/Textures/maki/harbor.png +0 -0
  416. package/Source/Assets/Textures/maki/heart.png +0 -0
  417. package/Source/Assets/Textures/maki/heliport.png +0 -0
  418. package/Source/Assets/Textures/maki/hospital.png +0 -0
  419. package/Source/Assets/Textures/maki/ice-cream.png +0 -0
  420. package/Source/Assets/Textures/maki/industrial.png +0 -0
  421. package/Source/Assets/Textures/maki/land-use.png +0 -0
  422. package/Source/Assets/Textures/maki/laundry.png +0 -0
  423. package/Source/Assets/Textures/maki/library.png +0 -0
  424. package/Source/Assets/Textures/maki/lighthouse.png +0 -0
  425. package/Source/Assets/Textures/maki/lodging.png +0 -0
  426. package/Source/Assets/Textures/maki/logging.png +0 -0
  427. package/Source/Assets/Textures/maki/london-underground.png +0 -0
  428. package/Source/Assets/Textures/maki/marker-stroked.png +0 -0
  429. package/Source/Assets/Textures/maki/marker.png +0 -0
  430. package/Source/Assets/Textures/maki/minefield.png +0 -0
  431. package/Source/Assets/Textures/maki/mobilephone.png +0 -0
  432. package/Source/Assets/Textures/maki/monument.png +0 -0
  433. package/Source/Assets/Textures/maki/museum.png +0 -0
  434. package/Source/Assets/Textures/maki/music.png +0 -0
  435. package/Source/Assets/Textures/maki/oil-well.png +0 -0
  436. package/Source/Assets/Textures/maki/park.png +0 -0
  437. package/Source/Assets/Textures/maki/park2.png +0 -0
  438. package/Source/Assets/Textures/maki/parking-garage.png +0 -0
  439. package/Source/Assets/Textures/maki/parking.png +0 -0
  440. package/Source/Assets/Textures/maki/pharmacy.png +0 -0
  441. package/Source/Assets/Textures/maki/pitch.png +0 -0
  442. package/Source/Assets/Textures/maki/place-of-worship.png +0 -0
  443. package/Source/Assets/Textures/maki/playground.png +0 -0
  444. package/Source/Assets/Textures/maki/police.png +0 -0
  445. package/Source/Assets/Textures/maki/polling-place.png +0 -0
  446. package/Source/Assets/Textures/maki/post.png +0 -0
  447. package/Source/Assets/Textures/maki/prison.png +0 -0
  448. package/Source/Assets/Textures/maki/rail-above.png +0 -0
  449. package/Source/Assets/Textures/maki/rail-light.png +0 -0
  450. package/Source/Assets/Textures/maki/rail-metro.png +0 -0
  451. package/Source/Assets/Textures/maki/rail-underground.png +0 -0
  452. package/Source/Assets/Textures/maki/rail.png +0 -0
  453. package/Source/Assets/Textures/maki/religious-christian.png +0 -0
  454. package/Source/Assets/Textures/maki/religious-jewish.png +0 -0
  455. package/Source/Assets/Textures/maki/religious-muslim.png +0 -0
  456. package/Source/Assets/Textures/maki/restaurant.png +0 -0
  457. package/Source/Assets/Textures/maki/roadblock.png +0 -0
  458. package/Source/Assets/Textures/maki/rocket.png +0 -0
  459. package/Source/Assets/Textures/maki/school.png +0 -0
  460. package/Source/Assets/Textures/maki/scooter.png +0 -0
  461. package/Source/Assets/Textures/maki/shop.png +0 -0
  462. package/Source/Assets/Textures/maki/skiing.png +0 -0
  463. package/Source/Assets/Textures/maki/slaughterhouse.png +0 -0
  464. package/Source/Assets/Textures/maki/soccer.png +0 -0
  465. package/Source/Assets/Textures/maki/square-stroked.png +0 -0
  466. package/Source/Assets/Textures/maki/square.png +0 -0
  467. package/Source/Assets/Textures/maki/star-stroked.png +0 -0
  468. package/Source/Assets/Textures/maki/star.png +0 -0
  469. package/Source/Assets/Textures/maki/suitcase.png +0 -0
  470. package/Source/Assets/Textures/maki/swimming.png +0 -0
  471. package/Source/Assets/Textures/maki/telephone.png +0 -0
  472. package/Source/Assets/Textures/maki/tennis.png +0 -0
  473. package/Source/Assets/Textures/maki/theatre.png +0 -0
  474. package/Source/Assets/Textures/maki/toilets.png +0 -0
  475. package/Source/Assets/Textures/maki/town-hall.png +0 -0
  476. package/Source/Assets/Textures/maki/town.png +0 -0
  477. package/Source/Assets/Textures/maki/triangle-stroked.png +0 -0
  478. package/Source/Assets/Textures/maki/triangle.png +0 -0
  479. package/Source/Assets/Textures/maki/village.png +0 -0
  480. package/Source/Assets/Textures/maki/warehouse.png +0 -0
  481. package/Source/Assets/Textures/maki/waste-basket.png +0 -0
  482. package/Source/Assets/Textures/maki/water.png +0 -0
  483. package/Source/Assets/Textures/maki/wetland.png +0 -0
  484. package/Source/Assets/Textures/maki/zoo.png +0 -0
  485. package/Source/Assets/Textures/moonSmall.jpg +0 -0
  486. package/Source/Assets/Textures/pin.svg +1 -0
  487. package/Source/Assets/Textures/waterNormals.jpg +0 -0
  488. package/Source/Assets/Textures/waterNormalsSmall.jpg +0 -0
  489. package/Source/Assets/approximateTerrainHeights.json +1 -0
  490. package/Source/Core/ApproximateTerrainHeights.js +255 -0
  491. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +755 -0
  492. package/Source/Core/ArcType.js +31 -0
  493. package/Source/Core/ArticulationStageType.js +23 -0
  494. package/Source/Core/AssociativeArray.js +127 -0
  495. package/Source/Core/AttributeCompression.js +527 -0
  496. package/Source/Core/AxisAlignedBoundingBox.js +294 -0
  497. package/Source/Core/BingMapsGeocoderService.js +127 -0
  498. package/Source/Core/BoundingRectangle.js +374 -0
  499. package/Source/Core/BoundingSphere.js +1506 -0
  500. package/Source/Core/BoxGeometry.js +893 -0
  501. package/Source/Core/BoxOutlineGeometry.js +312 -0
  502. package/Source/Core/Cartesian2.js +823 -0
  503. package/Source/Core/Cartesian3.js +1220 -0
  504. package/Source/Core/Cartesian4.js +979 -0
  505. package/Source/Core/Cartographic.js +304 -0
  506. package/Source/Core/CartographicGeocoderService.js +73 -0
  507. package/Source/Core/CatmullRomSpline.js +324 -0
  508. package/Source/Core/Cesium3DTilesTerrainData.js +932 -0
  509. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +1868 -0
  510. package/Source/Core/Cesium3DTilesTerrainProvider.js +1052 -0
  511. package/Source/Core/CesiumTerrainProvider.js +1408 -0
  512. package/Source/Core/Check.d.ts +131 -0
  513. package/Source/Core/Check.js +212 -0
  514. package/Source/Core/CircleGeometry.js +207 -0
  515. package/Source/Core/CircleOutlineGeometry.js +149 -0
  516. package/Source/Core/Clock.js +316 -0
  517. package/Source/Core/ClockRange.js +39 -0
  518. package/Source/Core/ClockStep.js +38 -0
  519. package/Source/Core/Color.js +2283 -0
  520. package/Source/Core/ColorGeometryInstanceAttribute.js +181 -0
  521. package/Source/Core/ComponentDatatype.js +338 -0
  522. package/Source/Core/CompressedTextureBuffer.js +125 -0
  523. package/Source/Core/ConstantSpline.js +119 -0
  524. package/Source/Core/CoplanarPolygonGeometry.js +600 -0
  525. package/Source/Core/CoplanarPolygonGeometryLibrary.js +132 -0
  526. package/Source/Core/CoplanarPolygonOutlineGeometry.js +237 -0
  527. package/Source/Core/CornerType.js +37 -0
  528. package/Source/Core/CorridorGeometry.js +1411 -0
  529. package/Source/Core/CorridorGeometryLibrary.js +501 -0
  530. package/Source/Core/CorridorOutlineGeometry.js +599 -0
  531. package/Source/Core/Credit.js +172 -0
  532. package/Source/Core/CubicRealPolynomial.js +238 -0
  533. package/Source/Core/CullingVolume.js +216 -0
  534. package/Source/Core/CustomHeightmapTerrainProvider.js +287 -0
  535. package/Source/Core/CylinderGeometry.js +479 -0
  536. package/Source/Core/CylinderGeometryLibrary.js +59 -0
  537. package/Source/Core/CylinderOutlineGeometry.js +269 -0
  538. package/Source/Core/DefaultProxy.js +26 -0
  539. package/Source/Core/DeveloperError.js +75 -0
  540. package/Source/Core/DistanceDisplayCondition.js +171 -0
  541. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +179 -0
  542. package/Source/Core/DoubleEndedPriorityQueue.js +405 -0
  543. package/Source/Core/DoublyLinkedList.js +112 -0
  544. package/Source/Core/EarthOrientationParameters.js +431 -0
  545. package/Source/Core/EarthOrientationParametersSample.js +52 -0
  546. package/Source/Core/EasingFunction.js +257 -0
  547. package/Source/Core/EllipseGeometry.js +1318 -0
  548. package/Source/Core/EllipseGeometryLibrary.js +365 -0
  549. package/Source/Core/EllipseOutlineGeometry.js +451 -0
  550. package/Source/Core/Ellipsoid.js +889 -0
  551. package/Source/Core/EllipsoidGeodesic.js +523 -0
  552. package/Source/Core/EllipsoidGeometry.js +650 -0
  553. package/Source/Core/EllipsoidOutlineGeometry.js +464 -0
  554. package/Source/Core/EllipsoidRhumbLine.js +751 -0
  555. package/Source/Core/EllipsoidTangentPlane.js +382 -0
  556. package/Source/Core/EllipsoidTerrainProvider.js +201 -0
  557. package/Source/Core/EllipsoidalOccluder.js +538 -0
  558. package/Source/Core/EncodedCartesian3.js +170 -0
  559. package/Source/Core/Event.js +205 -0
  560. package/Source/Core/EventHelper.js +74 -0
  561. package/Source/Core/ExtrapolationType.js +34 -0
  562. package/Source/Core/FeatureDetection.js +435 -0
  563. package/Source/Core/Frozen.js +24 -0
  564. package/Source/Core/FrustumGeometry.js +583 -0
  565. package/Source/Core/FrustumOutlineGeometry.js +253 -0
  566. package/Source/Core/Fullscreen.js +249 -0
  567. package/Source/Core/GeocodeType.js +24 -0
  568. package/Source/Core/GeocoderService.js +60 -0
  569. package/Source/Core/GeographicProjection.js +105 -0
  570. package/Source/Core/GeographicTilingScheme.js +245 -0
  571. package/Source/Core/Geometry.js +371 -0
  572. package/Source/Core/GeometryAttribute.js +133 -0
  573. package/Source/Core/GeometryAttributes.js +88 -0
  574. package/Source/Core/GeometryFactory.js +25 -0
  575. package/Source/Core/GeometryInstance.js +118 -0
  576. package/Source/Core/GeometryInstanceAttribute.js +133 -0
  577. package/Source/Core/GeometryOffsetAttribute.js +10 -0
  578. package/Source/Core/GeometryPipeline.js +3291 -0
  579. package/Source/Core/GeometryType.js +10 -0
  580. package/Source/Core/GoogleEarthEnterpriseMetadata.js +584 -0
  581. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +606 -0
  582. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +574 -0
  583. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +136 -0
  584. package/Source/Core/GoogleGeocoderService.js +110 -0
  585. package/Source/Core/GoogleMaps.js +40 -0
  586. package/Source/Core/GregorianDate.js +153 -0
  587. package/Source/Core/GroundPolylineGeometry.js +1659 -0
  588. package/Source/Core/HeadingPitchRange.js +59 -0
  589. package/Source/Core/HeadingPitchRoll.js +235 -0
  590. package/Source/Core/Heap.js +233 -0
  591. package/Source/Core/HeightmapEncoding.js +25 -0
  592. package/Source/Core/HeightmapTerrainData.js +903 -0
  593. package/Source/Core/HeightmapTessellator.js +518 -0
  594. package/Source/Core/HermitePolynomialApproximation.js +341 -0
  595. package/Source/Core/HermiteSpline.js +620 -0
  596. package/Source/Core/HilbertOrder.js +112 -0
  597. package/Source/Core/ITwinPlatform.js +388 -0
  598. package/Source/Core/Iau2000Orientation.js +167 -0
  599. package/Source/Core/Iau2006XysData.js +275 -0
  600. package/Source/Core/Iau2006XysSample.js +32 -0
  601. package/Source/Core/IauOrientationAxes.js +105 -0
  602. package/Source/Core/IauOrientationParameters.js +54 -0
  603. package/Source/Core/IndexDatatype.js +199 -0
  604. package/Source/Core/InterpolationAlgorithm.js +65 -0
  605. package/Source/Core/InterpolationType.js +14 -0
  606. package/Source/Core/Intersect.js +34 -0
  607. package/Source/Core/IntersectionTests.js +1087 -0
  608. package/Source/Core/Intersections2D.js +358 -0
  609. package/Source/Core/Interval.js +23 -0
  610. package/Source/Core/Ion.js +56 -0
  611. package/Source/Core/IonGeocodeProviderType.js +33 -0
  612. package/Source/Core/IonGeocoderService.js +147 -0
  613. package/Source/Core/IonResource.js +321 -0
  614. package/Source/Core/Iso8601.js +54 -0
  615. package/Source/Core/JulianDate.js +1229 -0
  616. package/Source/Core/KTX2Transcoder.js +92 -0
  617. package/Source/Core/KeyboardEventModifier.js +32 -0
  618. package/Source/Core/LagrangePolynomialApproximation.js +71 -0
  619. package/Source/Core/LeapSecond.js +24 -0
  620. package/Source/Core/LinearApproximation.js +83 -0
  621. package/Source/Core/LinearSpline.js +166 -0
  622. package/Source/Core/ManagedArray.js +162 -0
  623. package/Source/Core/MapProjection.js +62 -0
  624. package/Source/Core/Math.js +1125 -0
  625. package/Source/Core/Matrix2.js +1092 -0
  626. package/Source/Core/Matrix3.js +1838 -0
  627. package/Source/Core/Matrix4.js +3233 -0
  628. package/Source/Core/MorphWeightSpline.js +161 -0
  629. package/Source/Core/MortonOrder.js +214 -0
  630. package/Source/Core/NearFarScalar.js +173 -0
  631. package/Source/Core/Occluder.js +727 -0
  632. package/Source/Core/OffsetGeometryInstanceAttribute.js +125 -0
  633. package/Source/Core/OpenCageGeocoderService.js +134 -0
  634. package/Source/Core/OrientedBoundingBox.js +1272 -0
  635. package/Source/Core/OrthographicFrustum.js +351 -0
  636. package/Source/Core/OrthographicOffCenterFrustum.js +463 -0
  637. package/Source/Core/Packable.js +40 -0
  638. package/Source/Core/PackableForInterpolation.js +43 -0
  639. package/Source/Core/PeliasGeocoderService.js +106 -0
  640. package/Source/Core/PerspectiveFrustum.js +459 -0
  641. package/Source/Core/PerspectiveOffCenterFrustum.js +522 -0
  642. package/Source/Core/PinBuilder.js +234 -0
  643. package/Source/Core/PixelFormat.js +603 -0
  644. package/Source/Core/Plane.js +312 -0
  645. package/Source/Core/PlaneGeometry.js +250 -0
  646. package/Source/Core/PlaneOutlineGeometry.js +113 -0
  647. package/Source/Core/PolygonGeometry.js +1580 -0
  648. package/Source/Core/PolygonGeometryLibrary.js +1301 -0
  649. package/Source/Core/PolygonHierarchy.js +25 -0
  650. package/Source/Core/PolygonOutlineGeometry.js +687 -0
  651. package/Source/Core/PolygonPipeline.js +632 -0
  652. package/Source/Core/PolylineGeometry.js +573 -0
  653. package/Source/Core/PolylinePipeline.js +573 -0
  654. package/Source/Core/PolylineVolumeGeometry.js +412 -0
  655. package/Source/Core/PolylineVolumeGeometryLibrary.js +701 -0
  656. package/Source/Core/PolylineVolumeOutlineGeometry.js +294 -0
  657. package/Source/Core/PrimitiveType.js +107 -0
  658. package/Source/Core/Proxy.js +24 -0
  659. package/Source/Core/QuadraticRealPolynomial.js +147 -0
  660. package/Source/Core/QuantizedMeshTerrainData.js +735 -0
  661. package/Source/Core/QuarticRealPolynomial.js +342 -0
  662. package/Source/Core/Quaternion.js +1145 -0
  663. package/Source/Core/QuaternionSpline.js +155 -0
  664. package/Source/Core/Queue.js +126 -0
  665. package/Source/Core/Ray.js +79 -0
  666. package/Source/Core/Rectangle.js +1071 -0
  667. package/Source/Core/RectangleCollisionChecker.js +95 -0
  668. package/Source/Core/RectangleGeometry.js +1480 -0
  669. package/Source/Core/RectangleGeometryLibrary.js +286 -0
  670. package/Source/Core/RectangleOutlineGeometry.js +532 -0
  671. package/Source/Core/ReferenceFrame.js +23 -0
  672. package/Source/Core/Request.js +193 -0
  673. package/Source/Core/RequestErrorEvent.js +58 -0
  674. package/Source/Core/RequestScheduler.js +519 -0
  675. package/Source/Core/RequestState.js +55 -0
  676. package/Source/Core/RequestType.js +39 -0
  677. package/Source/Core/Resource.js +2280 -0
  678. package/Source/Core/RuntimeError.js +65 -0
  679. package/Source/Core/S2Cell.js +734 -0
  680. package/Source/Core/ScreenSpaceEventHandler.js +1140 -0
  681. package/Source/Core/ScreenSpaceEventType.js +127 -0
  682. package/Source/Core/ShowGeometryInstanceAttribute.js +122 -0
  683. package/Source/Core/Simon1994PlanetaryPositions.js +684 -0
  684. package/Source/Core/SimplePolylineGeometry.js +454 -0
  685. package/Source/Core/SphereGeometry.js +117 -0
  686. package/Source/Core/SphereOutlineGeometry.js +119 -0
  687. package/Source/Core/Spherical.js +183 -0
  688. package/Source/Core/Spline.js +188 -0
  689. package/Source/Core/SteppedSpline.js +160 -0
  690. package/Source/Core/Stereographic.js +247 -0
  691. package/Source/Core/TaskProcessor.js +403 -0
  692. package/Source/Core/TerrainData.js +126 -0
  693. package/Source/Core/TerrainEncoding.js +772 -0
  694. package/Source/Core/TerrainMesh.js +361 -0
  695. package/Source/Core/TerrainPicker.js +607 -0
  696. package/Source/Core/TerrainProvider.js +585 -0
  697. package/Source/Core/TerrainQuantization.js +25 -0
  698. package/Source/Core/TexturePacker.js +181 -0
  699. package/Source/Core/TileAvailability.js +564 -0
  700. package/Source/Core/TileEdge.js +14 -0
  701. package/Source/Core/TileProviderError.js +170 -0
  702. package/Source/Core/TilingScheme.js +132 -0
  703. package/Source/Core/TimeConstants.js +83 -0
  704. package/Source/Core/TimeInterval.js +438 -0
  705. package/Source/Core/TimeIntervalCollection.js +1137 -0
  706. package/Source/Core/TimeStandard.js +30 -0
  707. package/Source/Core/Tipsify.js +314 -0
  708. package/Source/Core/TrackingReferenceFrame.js +45 -0
  709. package/Source/Core/Transforms.js +1277 -0
  710. package/Source/Core/TranslationRotationScale.js +57 -0
  711. package/Source/Core/TridiagonalSystemSolver.js +113 -0
  712. package/Source/Core/TrustedServers.js +146 -0
  713. package/Source/Core/VRTheWorldTerrainProvider.js +462 -0
  714. package/Source/Core/VertexFormat.js +311 -0
  715. package/Source/Core/VerticalExaggeration.js +70 -0
  716. package/Source/Core/VideoSynchronizer.js +222 -0
  717. package/Source/Core/Visibility.js +34 -0
  718. package/Source/Core/VulkanConstants.js +286 -0
  719. package/Source/Core/WallGeometry.js +623 -0
  720. package/Source/Core/WallGeometryLibrary.js +212 -0
  721. package/Source/Core/WallOutlineGeometry.js +431 -0
  722. package/Source/Core/WebGLConstants.js +614 -0
  723. package/Source/Core/WebMercatorProjection.js +152 -0
  724. package/Source/Core/WebMercatorTilingScheme.js +291 -0
  725. package/Source/Core/WindingOrder.js +36 -0
  726. package/Source/Core/WireframeIndexGenerator.js +238 -0
  727. package/Source/Core/addAllToArray.js +40 -0
  728. package/Source/Core/appendForwardSlash.js +10 -0
  729. package/Source/Core/arrayRemoveDuplicates.js +129 -0
  730. package/Source/Core/barycentricCoordinates.js +109 -0
  731. package/Source/Core/binarySearch.js +67 -0
  732. package/Source/Core/buildModuleUrl.js +153 -0
  733. package/Source/Core/clone.js +30 -0
  734. package/Source/Core/combine.js +79 -0
  735. package/Source/Core/createGuid.js +22 -0
  736. package/Source/Core/createWorldBathymetryAsync.js +45 -0
  737. package/Source/Core/createWorldTerrainAsync.js +50 -0
  738. package/Source/Core/decodeGoogleEarthEnterpriseData.js +93 -0
  739. package/Source/Core/decodeVectorPolylinePositions.js +51 -0
  740. package/Source/Core/defaultValue.js +29 -0
  741. package/Source/Core/defer.js +44 -0
  742. package/Source/Core/defined.d.ts +11 -0
  743. package/Source/Core/defined.js +17 -0
  744. package/Source/Core/deprecationWarning.js +53 -0
  745. package/Source/Core/destroyObject.js +53 -0
  746. package/Source/Core/formatError.js +30 -0
  747. package/Source/Core/getAbsoluteUri.js +46 -0
  748. package/Source/Core/getBaseUri.js +47 -0
  749. package/Source/Core/getExtensionFromUri.js +38 -0
  750. package/Source/Core/getFilenameFromUri.js +32 -0
  751. package/Source/Core/getImageFromTypedArray.js +24 -0
  752. package/Source/Core/getImagePixels.js +44 -0
  753. package/Source/Core/getJsonFromTypedArray.js +21 -0
  754. package/Source/Core/getMagic.js +14 -0
  755. package/Source/Core/getStringFromTypedArray.js +165 -0
  756. package/Source/Core/getTimestamp.js +26 -0
  757. package/Source/Core/isBitSet.js +7 -0
  758. package/Source/Core/isBlobUri.js +22 -0
  759. package/Source/Core/isCrossOriginUrl.js +30 -0
  760. package/Source/Core/isDataUri.js +22 -0
  761. package/Source/Core/isLeapYear.js +23 -0
  762. package/Source/Core/loadAndExecuteScript.js +27 -0
  763. package/Source/Core/loadImageFromTypedArray.js +66 -0
  764. package/Source/Core/loadKTX2.js +104 -0
  765. package/Source/Core/mergeSort.js +111 -0
  766. package/Source/Core/objectToQuery.js +57 -0
  767. package/Source/Core/oneTimeWarning.js +51 -0
  768. package/Source/Core/parseResponseHeaders.js +37 -0
  769. package/Source/Core/pointInsideTriangle.js +39 -0
  770. package/Source/Core/queryToObject.js +60 -0
  771. package/Source/Core/resizeImageToNextPowerOfTwo.js +31 -0
  772. package/Source/Core/sampleTerrain.js +291 -0
  773. package/Source/Core/sampleTerrainMostDetailed.js +132 -0
  774. package/Source/Core/scaleToGeodeticSurface.js +147 -0
  775. package/Source/Core/srgbToLinear.js +32 -0
  776. package/Source/Core/subdivideArray.js +35 -0
  777. package/Source/Core/webGLConstantToGlslType.js +25 -0
  778. package/Source/Core/wrapFunction.js +26 -0
  779. package/Source/Core/writeTextToCanvas.js +219 -0
  780. package/Source/DataSources/BillboardGraphics.js +419 -0
  781. package/Source/DataSources/BillboardVisualizer.js +351 -0
  782. package/Source/DataSources/BoundingSphereState.js +26 -0
  783. package/Source/DataSources/BoxGeometryUpdater.js +326 -0
  784. package/Source/DataSources/BoxGraphics.js +208 -0
  785. package/Source/DataSources/CallbackPositionProperty.js +172 -0
  786. package/Source/DataSources/CallbackProperty.js +117 -0
  787. package/Source/DataSources/Cesium3DTilesetGraphics.js +111 -0
  788. package/Source/DataSources/Cesium3DTilesetVisualizer.js +261 -0
  789. package/Source/DataSources/CheckerboardMaterialProperty.js +157 -0
  790. package/Source/DataSources/ColorMaterialProperty.js +112 -0
  791. package/Source/DataSources/CompositeEntityCollection.js +591 -0
  792. package/Source/DataSources/CompositeMaterialProperty.js +128 -0
  793. package/Source/DataSources/CompositePositionProperty.js +153 -0
  794. package/Source/DataSources/CompositeProperty.js +154 -0
  795. package/Source/DataSources/ConstantPositionProperty.js +151 -0
  796. package/Source/DataSources/ConstantProperty.js +116 -0
  797. package/Source/DataSources/CorridorGeometryUpdater.js +409 -0
  798. package/Source/DataSources/CorridorGraphics.js +316 -0
  799. package/Source/DataSources/CustomDataSource.js +173 -0
  800. package/Source/DataSources/CylinderGeometryUpdater.js +375 -0
  801. package/Source/DataSources/CylinderGraphics.js +258 -0
  802. package/Source/DataSources/CzmlDataSource.js +5142 -0
  803. package/Source/DataSources/DataSource.js +121 -0
  804. package/Source/DataSources/DataSourceClock.js +164 -0
  805. package/Source/DataSources/DataSourceCollection.js +335 -0
  806. package/Source/DataSources/DataSourceDisplay.js +543 -0
  807. package/Source/DataSources/DynamicGeometryBatch.js +56 -0
  808. package/Source/DataSources/DynamicGeometryUpdater.js +270 -0
  809. package/Source/DataSources/EllipseGeometryUpdater.js +434 -0
  810. package/Source/DataSources/EllipseGraphics.js +343 -0
  811. package/Source/DataSources/EllipsoidGeometryUpdater.js +710 -0
  812. package/Source/DataSources/EllipsoidGraphics.js +312 -0
  813. package/Source/DataSources/Entity.js +789 -0
  814. package/Source/DataSources/EntityCluster.js +1022 -0
  815. package/Source/DataSources/EntityCollection.js +439 -0
  816. package/Source/DataSources/EntityView.js +476 -0
  817. package/Source/DataSources/GeoJsonDataSource.js +1064 -0
  818. package/Source/DataSources/GeometryUpdater.js +538 -0
  819. package/Source/DataSources/GeometryUpdaterSet.js +114 -0
  820. package/Source/DataSources/GeometryVisualizer.js +549 -0
  821. package/Source/DataSources/GpxDataSource.js +1018 -0
  822. package/Source/DataSources/GridMaterialProperty.js +204 -0
  823. package/Source/DataSources/GroundGeometryUpdater.js +234 -0
  824. package/Source/DataSources/ImageMaterialProperty.js +173 -0
  825. package/Source/DataSources/KmlCamera.js +13 -0
  826. package/Source/DataSources/KmlDataSource.js +4249 -0
  827. package/Source/DataSources/KmlLookAt.js +12 -0
  828. package/Source/DataSources/KmlTour.js +165 -0
  829. package/Source/DataSources/KmlTourFlyTo.js +109 -0
  830. package/Source/DataSources/KmlTourWait.js +52 -0
  831. package/Source/DataSources/LabelGraphics.js +401 -0
  832. package/Source/DataSources/LabelVisualizer.js +359 -0
  833. package/Source/DataSources/MaterialProperty.js +111 -0
  834. package/Source/DataSources/ModelGraphics.js +456 -0
  835. package/Source/DataSources/ModelVisualizer.js +560 -0
  836. package/Source/DataSources/NodeTransformationProperty.js +150 -0
  837. package/Source/DataSources/PathGraphics.js +161 -0
  838. package/Source/DataSources/PathVisualizer.js +823 -0
  839. package/Source/DataSources/PlaneGeometryUpdater.js +385 -0
  840. package/Source/DataSources/PlaneGraphics.js +208 -0
  841. package/Source/DataSources/PointGraphics.js +223 -0
  842. package/Source/DataSources/PointVisualizer.js +438 -0
  843. package/Source/DataSources/PolygonGeometryUpdater.js +591 -0
  844. package/Source/DataSources/PolygonGraphics.js +383 -0
  845. package/Source/DataSources/PolylineArrowMaterialProperty.js +110 -0
  846. package/Source/DataSources/PolylineDashMaterialProperty.js +174 -0
  847. package/Source/DataSources/PolylineGeometryUpdater.js +878 -0
  848. package/Source/DataSources/PolylineGlowMaterialProperty.js +152 -0
  849. package/Source/DataSources/PolylineGraphics.js +241 -0
  850. package/Source/DataSources/PolylineOutlineMaterialProperty.js +158 -0
  851. package/Source/DataSources/PolylineVisualizer.js +409 -0
  852. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +306 -0
  853. package/Source/DataSources/PolylineVolumeGraphics.js +235 -0
  854. package/Source/DataSources/PositionProperty.js +131 -0
  855. package/Source/DataSources/PositionPropertyArray.js +192 -0
  856. package/Source/DataSources/Property.js +137 -0
  857. package/Source/DataSources/PropertyArray.js +147 -0
  858. package/Source/DataSources/PropertyBag.js +275 -0
  859. package/Source/DataSources/RectangleGeometryUpdater.js +427 -0
  860. package/Source/DataSources/RectangleGraphics.js +317 -0
  861. package/Source/DataSources/ReferenceProperty.js +371 -0
  862. package/Source/DataSources/Rotation.js +155 -0
  863. package/Source/DataSources/SampledPositionProperty.js +330 -0
  864. package/Source/DataSources/SampledProperty.js +855 -0
  865. package/Source/DataSources/ScaledPositionProperty.js +103 -0
  866. package/Source/DataSources/StaticGeometryColorBatch.js +570 -0
  867. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +488 -0
  868. package/Source/DataSources/StaticGroundGeometryColorBatch.js +394 -0
  869. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +456 -0
  870. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +434 -0
  871. package/Source/DataSources/StaticOutlineGeometryBatch.js +465 -0
  872. package/Source/DataSources/StripeMaterialProperty.js +193 -0
  873. package/Source/DataSources/StripeOrientation.js +19 -0
  874. package/Source/DataSources/TerrainOffsetProperty.js +243 -0
  875. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +155 -0
  876. package/Source/DataSources/TimeIntervalCollectionProperty.js +136 -0
  877. package/Source/DataSources/VelocityOrientationProperty.js +158 -0
  878. package/Source/DataSources/VelocityVectorProperty.js +213 -0
  879. package/Source/DataSources/Visualizer.js +61 -0
  880. package/Source/DataSources/WallGeometryUpdater.js +275 -0
  881. package/Source/DataSources/WallGraphics.js +236 -0
  882. package/Source/DataSources/createMaterialPropertyDescriptor.js +35 -0
  883. package/Source/DataSources/createPropertyDescriptor.js +71 -0
  884. package/Source/DataSources/createRawPropertyDescriptor.js +13 -0
  885. package/Source/DataSources/exportKml.js +1517 -0
  886. package/Source/DataSources/getElement.js +26 -0
  887. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +47 -0
  888. package/Source/Renderer/AutomaticUniforms.js +1857 -0
  889. package/Source/Renderer/Buffer.js +452 -0
  890. package/Source/Renderer/BufferUsage.js +21 -0
  891. package/Source/Renderer/ClearCommand.js +102 -0
  892. package/Source/Renderer/ComputeCommand.js +119 -0
  893. package/Source/Renderer/ComputeEngine.js +135 -0
  894. package/Source/Renderer/Context.js +1752 -0
  895. package/Source/Renderer/ContextLimits.js +299 -0
  896. package/Source/Renderer/CubeMap.js +686 -0
  897. package/Source/Renderer/CubeMapFace.js +415 -0
  898. package/Source/Renderer/DrawCommand.js +644 -0
  899. package/Source/Renderer/Framebuffer.js +447 -0
  900. package/Source/Renderer/FramebufferManager.js +489 -0
  901. package/Source/Renderer/MipmapHint.js +19 -0
  902. package/Source/Renderer/MultisampleFramebuffer.js +136 -0
  903. package/Source/Renderer/Pass.js +29 -0
  904. package/Source/Renderer/PassState.js +57 -0
  905. package/Source/Renderer/PixelDatatype.js +121 -0
  906. package/Source/Renderer/RenderState.js +967 -0
  907. package/Source/Renderer/Renderbuffer.js +105 -0
  908. package/Source/Renderer/RenderbufferFormat.js +42 -0
  909. package/Source/Renderer/Sampler.js +116 -0
  910. package/Source/Renderer/ShaderBuilder.js +597 -0
  911. package/Source/Renderer/ShaderCache.js +287 -0
  912. package/Source/Renderer/ShaderDestination.js +51 -0
  913. package/Source/Renderer/ShaderFunction.js +66 -0
  914. package/Source/Renderer/ShaderProgram.js +619 -0
  915. package/Source/Renderer/ShaderSource.js +524 -0
  916. package/Source/Renderer/ShaderStruct.js +55 -0
  917. package/Source/Renderer/SharedContext.js +186 -0
  918. package/Source/Renderer/Sync.js +104 -0
  919. package/Source/Renderer/Texture.js +1126 -0
  920. package/Source/Renderer/Texture3D.js +578 -0
  921. package/Source/Renderer/TextureAtlas.js +833 -0
  922. package/Source/Renderer/TextureCache.js +81 -0
  923. package/Source/Renderer/TextureMagnificationFilter.js +41 -0
  924. package/Source/Renderer/TextureMinificationFilter.js +94 -0
  925. package/Source/Renderer/TextureWrap.js +19 -0
  926. package/Source/Renderer/UniformState.js +1948 -0
  927. package/Source/Renderer/VertexArray.js +869 -0
  928. package/Source/Renderer/VertexArrayFacade.js +509 -0
  929. package/Source/Renderer/createUniform.js +422 -0
  930. package/Source/Renderer/createUniformArray.js +638 -0
  931. package/Source/Renderer/demodernizeShader.js +84 -0
  932. package/Source/Renderer/freezeRenderState.js +30 -0
  933. package/Source/Renderer/loadCubeMap.js +88 -0
  934. package/Source/Scene/AlphaMode.js +33 -0
  935. package/Source/Scene/Appearance.js +204 -0
  936. package/Source/Scene/ArcGisBaseMapType.js +12 -0
  937. package/Source/Scene/ArcGisMapServerImageryProvider.js +875 -0
  938. package/Source/Scene/ArcGisMapService.js +80 -0
  939. package/Source/Scene/Atmosphere.js +149 -0
  940. package/Source/Scene/AttributeType.js +200 -0
  941. package/Source/Scene/AutoExposure.js +386 -0
  942. package/Source/Scene/Axis.js +116 -0
  943. package/Source/Scene/Azure2DImageryProvider.js +393 -0
  944. package/Source/Scene/B3dmParser.js +173 -0
  945. package/Source/Scene/BatchTable.js +636 -0
  946. package/Source/Scene/BatchTableHierarchy.js +504 -0
  947. package/Source/Scene/BatchTexture.js +574 -0
  948. package/Source/Scene/Billboard.js +1601 -0
  949. package/Source/Scene/BillboardCollection.js +2396 -0
  950. package/Source/Scene/BillboardLoadState.js +44 -0
  951. package/Source/Scene/BillboardTexture.js +397 -0
  952. package/Source/Scene/BingMapsImageryProvider.js +769 -0
  953. package/Source/Scene/BingMapsStyle.js +93 -0
  954. package/Source/Scene/BlendEquation.js +53 -0
  955. package/Source/Scene/BlendFunction.js +129 -0
  956. package/Source/Scene/BlendOption.js +28 -0
  957. package/Source/Scene/BlendingState.js +73 -0
  958. package/Source/Scene/BoundingVolumeSemantics.js +169 -0
  959. package/Source/Scene/BoxEmitter.js +74 -0
  960. package/Source/Scene/BrdfLutGenerator.js +75 -0
  961. package/Source/Scene/BufferLoader.js +141 -0
  962. package/Source/Scene/Camera.js +3978 -0
  963. package/Source/Scene/CameraEventAggregator.js +619 -0
  964. package/Source/Scene/CameraEventType.js +47 -0
  965. package/Source/Scene/CameraFlightPath.js +576 -0
  966. package/Source/Scene/Cesium3DContentGroup.js +44 -0
  967. package/Source/Scene/Cesium3DTile.js +2475 -0
  968. package/Source/Scene/Cesium3DTileBatchTable.js +1132 -0
  969. package/Source/Scene/Cesium3DTileColorBlendMode.js +52 -0
  970. package/Source/Scene/Cesium3DTileContent.js +411 -0
  971. package/Source/Scene/Cesium3DTileContentFactory.js +118 -0
  972. package/Source/Scene/Cesium3DTileContentState.js +12 -0
  973. package/Source/Scene/Cesium3DTileContentType.js +179 -0
  974. package/Source/Scene/Cesium3DTileFeature.js +444 -0
  975. package/Source/Scene/Cesium3DTileFeatureTable.js +131 -0
  976. package/Source/Scene/Cesium3DTileOptimizationHint.js +13 -0
  977. package/Source/Scene/Cesium3DTileOptimizations.js +115 -0
  978. package/Source/Scene/Cesium3DTilePass.js +79 -0
  979. package/Source/Scene/Cesium3DTilePassState.js +52 -0
  980. package/Source/Scene/Cesium3DTilePointFeature.js +856 -0
  981. package/Source/Scene/Cesium3DTileRefine.js +29 -0
  982. package/Source/Scene/Cesium3DTileStyle.js +1475 -0
  983. package/Source/Scene/Cesium3DTileStyleEngine.js +78 -0
  984. package/Source/Scene/Cesium3DTilesVoxelProvider.js +760 -0
  985. package/Source/Scene/Cesium3DTileset.js +3932 -0
  986. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +291 -0
  987. package/Source/Scene/Cesium3DTilesetCache.js +80 -0
  988. package/Source/Scene/Cesium3DTilesetHeatmap.js +165 -0
  989. package/Source/Scene/Cesium3DTilesetMetadata.js +199 -0
  990. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +131 -0
  991. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +420 -0
  992. package/Source/Scene/Cesium3DTilesetStatistics.js +195 -0
  993. package/Source/Scene/Cesium3DTilesetTraversal.js +323 -0
  994. package/Source/Scene/CircleEmitter.js +61 -0
  995. package/Source/Scene/ClassificationPrimitive.js +1387 -0
  996. package/Source/Scene/ClassificationType.js +35 -0
  997. package/Source/Scene/ClippingPlane.js +184 -0
  998. package/Source/Scene/ClippingPlaneCollection.js +764 -0
  999. package/Source/Scene/ClippingPolygon.js +300 -0
  1000. package/Source/Scene/ClippingPolygonCollection.js +965 -0
  1001. package/Source/Scene/CloudCollection.js +1041 -0
  1002. package/Source/Scene/CloudType.js +33 -0
  1003. package/Source/Scene/ColorBlendMode.js +33 -0
  1004. package/Source/Scene/Composite3DTileContent.js +403 -0
  1005. package/Source/Scene/ConditionsExpression.js +219 -0
  1006. package/Source/Scene/ConeEmitter.js +61 -0
  1007. package/Source/Scene/ContentMetadata.js +184 -0
  1008. package/Source/Scene/CreditDisplay.js +654 -0
  1009. package/Source/Scene/CullFace.js +33 -0
  1010. package/Source/Scene/CumulusCloud.js +347 -0
  1011. package/Source/Scene/DebugAppearance.js +266 -0
  1012. package/Source/Scene/DebugCameraPrimitive.js +257 -0
  1013. package/Source/Scene/DebugInspector.js +151 -0
  1014. package/Source/Scene/DebugModelMatrixPrimitive.js +220 -0
  1015. package/Source/Scene/DepthFunction.js +73 -0
  1016. package/Source/Scene/DepthPlane.js +238 -0
  1017. package/Source/Scene/DerivedCommand.js +708 -0
  1018. package/Source/Scene/DeviceOrientationCameraController.js +120 -0
  1019. package/Source/Scene/DirectionalLight.js +49 -0
  1020. package/Source/Scene/DiscardEmptyTileImagePolicy.js +54 -0
  1021. package/Source/Scene/DiscardMissingTileImagePolicy.js +148 -0
  1022. package/Source/Scene/DracoLoader.js +99 -0
  1023. package/Source/Scene/DynamicAtmosphereLightingType.js +56 -0
  1024. package/Source/Scene/DynamicEnvironmentMapManager.js +1022 -0
  1025. package/Source/Scene/EdgeFramebuffer.js +245 -0
  1026. package/Source/Scene/EllipsoidPrimitive.js +496 -0
  1027. package/Source/Scene/EllipsoidSurfaceAppearance.js +278 -0
  1028. package/Source/Scene/Empty3DTileContent.js +164 -0
  1029. package/Source/Scene/Expression.js +2233 -0
  1030. package/Source/Scene/ExpressionNodeType.js +25 -0
  1031. package/Source/Scene/Fog.js +166 -0
  1032. package/Source/Scene/FrameRateMonitor.js +375 -0
  1033. package/Source/Scene/FrameState.js +477 -0
  1034. package/Source/Scene/FrustumCommands.js +29 -0
  1035. package/Source/Scene/GaussianSplat3DTileContent.js +826 -0
  1036. package/Source/Scene/GaussianSplatPrimitive.js +1065 -0
  1037. package/Source/Scene/GaussianSplatRenderResources.js +81 -0
  1038. package/Source/Scene/GaussianSplatSorter.js +73 -0
  1039. package/Source/Scene/GaussianSplatTextureGenerator.js +64 -0
  1040. package/Source/Scene/Geometry3DTileContent.js +534 -0
  1041. package/Source/Scene/GetFeatureInfoFormat.js +396 -0
  1042. package/Source/Scene/Globe.js +1135 -0
  1043. package/Source/Scene/GlobeDepth.js +407 -0
  1044. package/Source/Scene/GlobeSurfaceShaderSet.js +485 -0
  1045. package/Source/Scene/GlobeSurfaceTile.js +967 -0
  1046. package/Source/Scene/GlobeSurfaceTileProvider.js +2910 -0
  1047. package/Source/Scene/GlobeTranslucency.js +239 -0
  1048. package/Source/Scene/GlobeTranslucencyFramebuffer.js +201 -0
  1049. package/Source/Scene/GlobeTranslucencyState.js +1102 -0
  1050. package/Source/Scene/GltfBufferViewLoader.js +242 -0
  1051. package/Source/Scene/GltfDracoLoader.js +293 -0
  1052. package/Source/Scene/GltfImageLoader.js +320 -0
  1053. package/Source/Scene/GltfIndexBufferLoader.js +421 -0
  1054. package/Source/Scene/GltfJsonLoader.js +314 -0
  1055. package/Source/Scene/GltfLoader.js +2989 -0
  1056. package/Source/Scene/GltfLoaderUtil.js +184 -0
  1057. package/Source/Scene/GltfPipeline/ForEach.js +424 -0
  1058. package/Source/Scene/GltfPipeline/addBuffer.js +30 -0
  1059. package/Source/Scene/GltfPipeline/addDefaults.js +208 -0
  1060. package/Source/Scene/GltfPipeline/addExtensionsRequired.js +24 -0
  1061. package/Source/Scene/GltfPipeline/addExtensionsUsed.js +22 -0
  1062. package/Source/Scene/GltfPipeline/addPipelineExtras.js +36 -0
  1063. package/Source/Scene/GltfPipeline/addToArray.js +25 -0
  1064. package/Source/Scene/GltfPipeline/findAccessorMinMax.js +71 -0
  1065. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +155 -0
  1066. package/Source/Scene/GltfPipeline/getAccessorByteStride.js +29 -0
  1067. package/Source/Scene/GltfPipeline/getComponentReader.js +147 -0
  1068. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +135 -0
  1069. package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +145 -0
  1070. package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +29 -0
  1071. package/Source/Scene/GltfPipeline/parseGlb.js +118 -0
  1072. package/Source/Scene/GltfPipeline/readAccessorPacked.js +54 -0
  1073. package/Source/Scene/GltfPipeline/removeExtension.js +64 -0
  1074. package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +24 -0
  1075. package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +26 -0
  1076. package/Source/Scene/GltfPipeline/removePipelineExtras.js +42 -0
  1077. package/Source/Scene/GltfPipeline/removeUnusedElements.js +906 -0
  1078. package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +53 -0
  1079. package/Source/Scene/GltfPipeline/updateVersion.js +1148 -0
  1080. package/Source/Scene/GltfPipeline/usesExtension.js +18 -0
  1081. package/Source/Scene/GltfSpzLoader.js +224 -0
  1082. package/Source/Scene/GltfStructuralMetadataLoader.js +505 -0
  1083. package/Source/Scene/GltfTextureLoader.js +399 -0
  1084. package/Source/Scene/GltfVertexBufferLoader.js +634 -0
  1085. package/Source/Scene/Google2DImageryProvider.js +621 -0
  1086. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +548 -0
  1087. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +589 -0
  1088. package/Source/Scene/GridImageryProvider.js +322 -0
  1089. package/Source/Scene/GroundPolylinePrimitive.js +890 -0
  1090. package/Source/Scene/GroundPrimitive.js +1000 -0
  1091. package/Source/Scene/GroupMetadata.js +203 -0
  1092. package/Source/Scene/HeightReference.js +85 -0
  1093. package/Source/Scene/HorizontalOrigin.js +41 -0
  1094. package/Source/Scene/I3SDataProvider.js +860 -0
  1095. package/Source/Scene/I3SDecoder.js +133 -0
  1096. package/Source/Scene/I3SFeature.js +61 -0
  1097. package/Source/Scene/I3SField.js +360 -0
  1098. package/Source/Scene/I3SGeometry.js +477 -0
  1099. package/Source/Scene/I3SLayer.js +460 -0
  1100. package/Source/Scene/I3SNode.js +927 -0
  1101. package/Source/Scene/I3SStatistics.js +94 -0
  1102. package/Source/Scene/I3SSublayer.js +175 -0
  1103. package/Source/Scene/I3SSymbology.js +336 -0
  1104. package/Source/Scene/I3dmParser.js +140 -0
  1105. package/Source/Scene/ITwinData.js +283 -0
  1106. package/Source/Scene/ImageBasedLighting.js +463 -0
  1107. package/Source/Scene/Imagery.js +120 -0
  1108. package/Source/Scene/ImageryLayer.js +1747 -0
  1109. package/Source/Scene/ImageryLayerCollection.js +645 -0
  1110. package/Source/Scene/ImageryLayerFeatureInfo.js +111 -0
  1111. package/Source/Scene/ImageryProvider.js +267 -0
  1112. package/Source/Scene/ImageryState.js +14 -0
  1113. package/Source/Scene/Implicit3DTileContent.js +1206 -0
  1114. package/Source/Scene/ImplicitAvailabilityBitstream.js +134 -0
  1115. package/Source/Scene/ImplicitMetadataView.js +178 -0
  1116. package/Source/Scene/ImplicitSubdivisionScheme.js +48 -0
  1117. package/Source/Scene/ImplicitSubtree.js +1161 -0
  1118. package/Source/Scene/ImplicitSubtreeCache.js +127 -0
  1119. package/Source/Scene/ImplicitSubtreeMetadata.js +191 -0
  1120. package/Source/Scene/ImplicitTileCoordinates.js +647 -0
  1121. package/Source/Scene/ImplicitTileset.js +269 -0
  1122. package/Source/Scene/InstanceAttributeSemantic.js +79 -0
  1123. package/Source/Scene/InvertClassification.js +381 -0
  1124. package/Source/Scene/IonImageryProvider.js +346 -0
  1125. package/Source/Scene/IonImageryProviderFactory.js +194 -0
  1126. package/Source/Scene/IonWorldImageryStyle.js +33 -0
  1127. package/Source/Scene/JobScheduler.js +199 -0
  1128. package/Source/Scene/JobType.js +10 -0
  1129. package/Source/Scene/JsonMetadataTable.js +114 -0
  1130. package/Source/Scene/KeyframeNode.js +61 -0
  1131. package/Source/Scene/Label.js +1618 -0
  1132. package/Source/Scene/LabelCollection.js +1032 -0
  1133. package/Source/Scene/LabelStyle.js +33 -0
  1134. package/Source/Scene/Light.js +34 -0
  1135. package/Source/Scene/MapMode2D.js +23 -0
  1136. package/Source/Scene/MapboxImageryProvider.js +332 -0
  1137. package/Source/Scene/MapboxStyleImageryProvider.js +342 -0
  1138. package/Source/Scene/Material.js +1929 -0
  1139. package/Source/Scene/MaterialAppearance.js +328 -0
  1140. package/Source/Scene/Megatexture.js +550 -0
  1141. package/Source/Scene/MetadataClass.js +202 -0
  1142. package/Source/Scene/MetadataClassProperty.js +1191 -0
  1143. package/Source/Scene/MetadataComponentType.js +469 -0
  1144. package/Source/Scene/MetadataEntity.js +425 -0
  1145. package/Source/Scene/MetadataEnum.js +219 -0
  1146. package/Source/Scene/MetadataEnumValue.js +131 -0
  1147. package/Source/Scene/MetadataPicking.js +396 -0
  1148. package/Source/Scene/MetadataSchema.js +202 -0
  1149. package/Source/Scene/MetadataSchemaLoader.js +135 -0
  1150. package/Source/Scene/MetadataSemantic.js +153 -0
  1151. package/Source/Scene/MetadataTable.js +357 -0
  1152. package/Source/Scene/MetadataTableProperty.js +840 -0
  1153. package/Source/Scene/MetadataType.js +220 -0
  1154. package/Source/Scene/Model/AlphaPipelineStage.js +51 -0
  1155. package/Source/Scene/Model/AtmospherePipelineStage.js +64 -0
  1156. package/Source/Scene/Model/B3dmLoader.js +368 -0
  1157. package/Source/Scene/Model/BatchTexturePipelineStage.js +71 -0
  1158. package/Source/Scene/Model/CPUStylingPipelineStage.js +77 -0
  1159. package/Source/Scene/Model/CartesianRectangle.js +108 -0
  1160. package/Source/Scene/Model/ClassificationModelDrawCommand.js +534 -0
  1161. package/Source/Scene/Model/ClassificationPipelineStage.js +132 -0
  1162. package/Source/Scene/Model/CustomShader.js +469 -0
  1163. package/Source/Scene/Model/CustomShaderMode.js +40 -0
  1164. package/Source/Scene/Model/CustomShaderPipelineStage.js +667 -0
  1165. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +35 -0
  1166. package/Source/Scene/Model/DequantizationPipelineStage.js +178 -0
  1167. package/Source/Scene/Model/EdgeDetectionPipelineStage.js +42 -0
  1168. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +800 -0
  1169. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  1170. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  1171. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  1172. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  1173. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  1174. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +543 -0
  1175. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  1176. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  1177. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  1178. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  1179. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  1180. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  1181. package/Source/Scene/Model/FeatureIdPipelineStage.js +523 -0
  1182. package/Source/Scene/Model/GeoJsonLoader.js +697 -0
  1183. package/Source/Scene/Model/GeometryPipelineStage.js +529 -0
  1184. package/Source/Scene/Model/I3dmLoader.js +883 -0
  1185. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +168 -0
  1186. package/Source/Scene/Model/ImageryConfiguration.js +26 -0
  1187. package/Source/Scene/Model/ImageryCoverage.js +488 -0
  1188. package/Source/Scene/Model/ImageryFlags.js +31 -0
  1189. package/Source/Scene/Model/ImageryInput.js +60 -0
  1190. package/Source/Scene/Model/ImageryPipelineStage.js +1046 -0
  1191. package/Source/Scene/Model/InstancingPipelineStage.js +1056 -0
  1192. package/Source/Scene/Model/LightingModel.js +30 -0
  1193. package/Source/Scene/Model/LightingPipelineStage.js +73 -0
  1194. package/Source/Scene/Model/MappedPositions.js +84 -0
  1195. package/Source/Scene/Model/MaterialPipelineStage.js +869 -0
  1196. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  1197. package/Source/Scene/Model/MetadataPipelineStage.js +657 -0
  1198. package/Source/Scene/Model/Model.js +3340 -0
  1199. package/Source/Scene/Model/Model3DTileContent.js +551 -0
  1200. package/Source/Scene/Model/ModelAlphaOptions.js +26 -0
  1201. package/Source/Scene/Model/ModelAnimation.js +421 -0
  1202. package/Source/Scene/Model/ModelAnimationChannel.js +294 -0
  1203. package/Source/Scene/Model/ModelAnimationCollection.js +553 -0
  1204. package/Source/Scene/Model/ModelArticulation.js +214 -0
  1205. package/Source/Scene/Model/ModelArticulationStage.js +261 -0
  1206. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +126 -0
  1207. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +98 -0
  1208. package/Source/Scene/Model/ModelColorPipelineStage.js +98 -0
  1209. package/Source/Scene/Model/ModelDrawCommand.js +922 -0
  1210. package/Source/Scene/Model/ModelDrawCommands.js +218 -0
  1211. package/Source/Scene/Model/ModelFeature.js +229 -0
  1212. package/Source/Scene/Model/ModelFeatureTable.js +316 -0
  1213. package/Source/Scene/Model/ModelImagery.js +410 -0
  1214. package/Source/Scene/Model/ModelImageryMapping.js +489 -0
  1215. package/Source/Scene/Model/ModelLightingOptions.js +29 -0
  1216. package/Source/Scene/Model/ModelMatrixUpdateStage.js +120 -0
  1217. package/Source/Scene/Model/ModelNode.js +125 -0
  1218. package/Source/Scene/Model/ModelPrimitiveImagery.js +972 -0
  1219. package/Source/Scene/Model/ModelReader.js +810 -0
  1220. package/Source/Scene/Model/ModelRenderResources.js +119 -0
  1221. package/Source/Scene/Model/ModelRuntimeNode.js +648 -0
  1222. package/Source/Scene/Model/ModelRuntimePrimitive.js +380 -0
  1223. package/Source/Scene/Model/ModelSceneGraph.js +1098 -0
  1224. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +109 -0
  1225. package/Source/Scene/Model/ModelSkin.js +180 -0
  1226. package/Source/Scene/Model/ModelSplitterPipelineStage.js +65 -0
  1227. package/Source/Scene/Model/ModelStatistics.js +225 -0
  1228. package/Source/Scene/Model/ModelType.js +94 -0
  1229. package/Source/Scene/Model/ModelUtility.js +395 -0
  1230. package/Source/Scene/Model/MorphTargetsPipelineStage.js +249 -0
  1231. package/Source/Scene/Model/NodeRenderResources.js +170 -0
  1232. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +75 -0
  1233. package/Source/Scene/Model/PickingPipelineStage.js +218 -0
  1234. package/Source/Scene/Model/PntsLoader.js +716 -0
  1235. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +392 -0
  1236. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +689 -0
  1237. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +99 -0
  1238. package/Source/Scene/Model/PrimitiveRenderResources.js +297 -0
  1239. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +253 -0
  1240. package/Source/Scene/Model/SceneMode2DPipelineStage.js +301 -0
  1241. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +180 -0
  1242. package/Source/Scene/Model/SkinningPipelineStage.js +118 -0
  1243. package/Source/Scene/Model/StyleCommandsNeeded.js +29 -0
  1244. package/Source/Scene/Model/TextureManager.js +244 -0
  1245. package/Source/Scene/Model/TextureUniform.js +71 -0
  1246. package/Source/Scene/Model/TilesetPipelineStage.js +73 -0
  1247. package/Source/Scene/Model/UniformType.js +124 -0
  1248. package/Source/Scene/Model/VaryingType.js +61 -0
  1249. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +58 -0
  1250. package/Source/Scene/Model/WireframePipelineStage.js +118 -0
  1251. package/Source/Scene/Model/pickModel.js +425 -0
  1252. package/Source/Scene/ModelAnimationLoop.js +33 -0
  1253. package/Source/Scene/ModelAnimationState.js +9 -0
  1254. package/Source/Scene/ModelComponents.js +1662 -0
  1255. package/Source/Scene/Moon.js +175 -0
  1256. package/Source/Scene/Multiple3DTileContent.js +722 -0
  1257. package/Source/Scene/NeverTileDiscardPolicy.js +28 -0
  1258. package/Source/Scene/OIT.js +946 -0
  1259. package/Source/Scene/OpenStreetMapImageryProvider.js +128 -0
  1260. package/Source/Scene/OrderedGroundPrimitiveCollection.js +218 -0
  1261. package/Source/Scene/Particle.js +149 -0
  1262. package/Source/Scene/ParticleBurst.js +51 -0
  1263. package/Source/Scene/ParticleEmitter.js +36 -0
  1264. package/Source/Scene/ParticleSystem.js +885 -0
  1265. package/Source/Scene/PerInstanceColorAppearance.js +296 -0
  1266. package/Source/Scene/PerformanceDisplay.js +120 -0
  1267. package/Source/Scene/PickDepth.js +125 -0
  1268. package/Source/Scene/PickDepthFramebuffer.js +79 -0
  1269. package/Source/Scene/PickFramebuffer.js +255 -0
  1270. package/Source/Scene/PickedMetadataInfo.js +57 -0
  1271. package/Source/Scene/Picking.js +1683 -0
  1272. package/Source/Scene/PntsParser.js +547 -0
  1273. package/Source/Scene/PointCloud.js +1412 -0
  1274. package/Source/Scene/PointCloudEyeDomeLighting.js +284 -0
  1275. package/Source/Scene/PointCloudShading.js +104 -0
  1276. package/Source/Scene/PointPrimitive.js +690 -0
  1277. package/Source/Scene/PointPrimitiveCollection.js +1223 -0
  1278. package/Source/Scene/Polyline.js +431 -0
  1279. package/Source/Scene/PolylineCollection.js +1950 -0
  1280. package/Source/Scene/PolylineColorAppearance.js +220 -0
  1281. package/Source/Scene/PolylineMaterialAppearance.js +231 -0
  1282. package/Source/Scene/PostProcessStage.js +1000 -0
  1283. package/Source/Scene/PostProcessStageCollection.js +900 -0
  1284. package/Source/Scene/PostProcessStageComposite.js +359 -0
  1285. package/Source/Scene/PostProcessStageLibrary.js +826 -0
  1286. package/Source/Scene/PostProcessStageSampleMode.js +22 -0
  1287. package/Source/Scene/PostProcessStageTextureCache.js +454 -0
  1288. package/Source/Scene/Primitive.js +2504 -0
  1289. package/Source/Scene/PrimitiveCollection.js +532 -0
  1290. package/Source/Scene/PrimitiveLoadPlan.js +303 -0
  1291. package/Source/Scene/PrimitivePipeline.js +854 -0
  1292. package/Source/Scene/PrimitiveState.js +136 -0
  1293. package/Source/Scene/PropertyAttribute.js +160 -0
  1294. package/Source/Scene/PropertyAttributeProperty.js +177 -0
  1295. package/Source/Scene/PropertyTable.js +536 -0
  1296. package/Source/Scene/PropertyTexture.js +162 -0
  1297. package/Source/Scene/PropertyTextureProperty.js +304 -0
  1298. package/Source/Scene/QuadtreeOccluders.js +30 -0
  1299. package/Source/Scene/QuadtreePrimitive.js +1575 -0
  1300. package/Source/Scene/QuadtreeTile.js +729 -0
  1301. package/Source/Scene/QuadtreeTileLoadState.js +39 -0
  1302. package/Source/Scene/QuadtreeTileProvider.js +212 -0
  1303. package/Source/Scene/ResourceCache.js +824 -0
  1304. package/Source/Scene/ResourceCacheKey.js +601 -0
  1305. package/Source/Scene/ResourceCacheStatistics.js +149 -0
  1306. package/Source/Scene/ResourceLoader.js +127 -0
  1307. package/Source/Scene/ResourceLoaderState.js +56 -0
  1308. package/Source/Scene/SDFSettings.js +39 -0
  1309. package/Source/Scene/Scene.js +5280 -0
  1310. package/Source/Scene/SceneFramebuffer.js +106 -0
  1311. package/Source/Scene/SceneMode.js +56 -0
  1312. package/Source/Scene/SceneTransforms.js +463 -0
  1313. package/Source/Scene/SceneTransitioner.js +1111 -0
  1314. package/Source/Scene/ScreenSpaceCameraController.js +3098 -0
  1315. package/Source/Scene/SensorVolumePortionToDisplay.js +69 -0
  1316. package/Source/Scene/ShadowMap.js +1957 -0
  1317. package/Source/Scene/ShadowMapShader.js +395 -0
  1318. package/Source/Scene/ShadowMode.js +78 -0
  1319. package/Source/Scene/ShadowVolumeAppearance.js +936 -0
  1320. package/Source/Scene/SingleTileImageryProvider.js +380 -0
  1321. package/Source/Scene/SkyAtmosphere.js +400 -0
  1322. package/Source/Scene/SkyBox.js +289 -0
  1323. package/Source/Scene/SpatialNode.js +377 -0
  1324. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  1325. package/Source/Scene/SphereEmitter.js +65 -0
  1326. package/Source/Scene/SplitDirection.js +34 -0
  1327. package/Source/Scene/Splitter.js +49 -0
  1328. package/Source/Scene/StencilConstants.js +37 -0
  1329. package/Source/Scene/StencilFunction.js +73 -0
  1330. package/Source/Scene/StencilOperation.js +73 -0
  1331. package/Source/Scene/StructuralMetadata.js +243 -0
  1332. package/Source/Scene/StyleExpression.js +86 -0
  1333. package/Source/Scene/Sun.js +363 -0
  1334. package/Source/Scene/SunLight.js +31 -0
  1335. package/Source/Scene/SunPostProcess.js +288 -0
  1336. package/Source/Scene/SupportedImageFormats.js +18 -0
  1337. package/Source/Scene/Terrain.js +245 -0
  1338. package/Source/Scene/TerrainFillMesh.js +2222 -0
  1339. package/Source/Scene/TerrainState.js +13 -0
  1340. package/Source/Scene/TileBoundingRegion.js +489 -0
  1341. package/Source/Scene/TileBoundingS2Cell.js +699 -0
  1342. package/Source/Scene/TileBoundingSphere.js +167 -0
  1343. package/Source/Scene/TileBoundingVolume.js +68 -0
  1344. package/Source/Scene/TileCoordinatesImageryProvider.js +269 -0
  1345. package/Source/Scene/TileDiscardPolicy.js +34 -0
  1346. package/Source/Scene/TileImagery.js +126 -0
  1347. package/Source/Scene/TileMapServiceImageryProvider.js +442 -0
  1348. package/Source/Scene/TileMetadata.js +184 -0
  1349. package/Source/Scene/TileOrientedBoundingBox.js +219 -0
  1350. package/Source/Scene/TileReplacementQueue.js +119 -0
  1351. package/Source/Scene/TileSelectionResult.js +80 -0
  1352. package/Source/Scene/TileState.js +10 -0
  1353. package/Source/Scene/Tileset3DTileContent.js +182 -0
  1354. package/Source/Scene/TilesetMetadata.js +186 -0
  1355. package/Source/Scene/TimeDynamicImagery.js +308 -0
  1356. package/Source/Scene/TimeDynamicPointCloud.js +802 -0
  1357. package/Source/Scene/Tonemapper.js +64 -0
  1358. package/Source/Scene/TranslucentTileClassification.js +514 -0
  1359. package/Source/Scene/TweenCollection.js +585 -0
  1360. package/Source/Scene/UrlTemplateImageryProvider.js +989 -0
  1361. package/Source/Scene/Vector3DTileBatch.js +37 -0
  1362. package/Source/Scene/Vector3DTileClampedPolylines.js +783 -0
  1363. package/Source/Scene/Vector3DTileContent.js +770 -0
  1364. package/Source/Scene/Vector3DTileGeometry.js +497 -0
  1365. package/Source/Scene/Vector3DTilePoints.js +548 -0
  1366. package/Source/Scene/Vector3DTilePolygons.js +479 -0
  1367. package/Source/Scene/Vector3DTilePolylines.js +679 -0
  1368. package/Source/Scene/Vector3DTilePrimitive.js +1276 -0
  1369. package/Source/Scene/VertexAttributeSemantic.js +305 -0
  1370. package/Source/Scene/VerticalOrigin.js +49 -0
  1371. package/Source/Scene/View.js +465 -0
  1372. package/Source/Scene/ViewportQuad.js +182 -0
  1373. package/Source/Scene/ViewshedShadowMap.js +1953 -0
  1374. package/Source/Scene/VoxelBoundsCollection.js +494 -0
  1375. package/Source/Scene/VoxelBoxShape.js +595 -0
  1376. package/Source/Scene/VoxelCell.js +274 -0
  1377. package/Source/Scene/VoxelContent.js +231 -0
  1378. package/Source/Scene/VoxelCylinderShape.js +868 -0
  1379. package/Source/Scene/VoxelEllipsoidShape.js +1174 -0
  1380. package/Source/Scene/VoxelMetadataOrder.js +24 -0
  1381. package/Source/Scene/VoxelPrimitive.js +2169 -0
  1382. package/Source/Scene/VoxelProvider.js +234 -0
  1383. package/Source/Scene/VoxelRenderResources.js +259 -0
  1384. package/Source/Scene/VoxelShape.js +179 -0
  1385. package/Source/Scene/VoxelShapeType.js +105 -0
  1386. package/Source/Scene/VoxelTraversal.js +1264 -0
  1387. package/Source/Scene/WebMapServiceImageryProvider.js +649 -0
  1388. package/Source/Scene/WebMapTileServiceImageryProvider.js +575 -0
  1389. package/Source/Scene/buildVoxelDrawCommands.js +177 -0
  1390. package/Source/Scene/computeFlyToLocationForRectangle.js +74 -0
  1391. package/Source/Scene/createBillboardPointCallback.js +70 -0
  1392. package/Source/Scene/createElevationBandMaterial.js +580 -0
  1393. package/Source/Scene/createGooglePhotorealistic3DTileset.js +116 -0
  1394. package/Source/Scene/createOsmBuildingsAsync.js +79 -0
  1395. package/Source/Scene/createTangentSpaceDebugPrimitive.js +114 -0
  1396. package/Source/Scene/createWorldImageryAsync.js +39 -0
  1397. package/Source/Scene/findContentMetadata.js +51 -0
  1398. package/Source/Scene/findGroupMetadata.js +39 -0
  1399. package/Source/Scene/findTileMetadata.js +53 -0
  1400. package/Source/Scene/getBinaryAccessor.js +56 -0
  1401. package/Source/Scene/getClipAndStyleCode.js +34 -0
  1402. package/Source/Scene/getClippingFunction.js +154 -0
  1403. package/Source/Scene/getMeshPrimitives.js +72 -0
  1404. package/Source/Scene/getMetadataClassProperty.js +43 -0
  1405. package/Source/Scene/getMetadataProperty.js +48 -0
  1406. package/Source/Scene/hasExtension.js +19 -0
  1407. package/Source/Scene/parseBatchTable.js +448 -0
  1408. package/Source/Scene/parseFeatureMetadataLegacy.js +139 -0
  1409. package/Source/Scene/parseStructuralMetadata.js +102 -0
  1410. package/Source/Scene/preprocess3DTileContent.js +102 -0
  1411. package/Source/Scene/processVoxelProperties.js +398 -0
  1412. package/Source/Shaders/AdjustTranslucentFS.glsl +27 -0
  1413. package/Source/Shaders/AdjustTranslucentFS.js +29 -0
  1414. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +29 -0
  1415. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +31 -0
  1416. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +26 -0
  1417. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +28 -0
  1418. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +23 -0
  1419. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +25 -0
  1420. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +17 -0
  1421. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +19 -0
  1422. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +33 -0
  1423. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +35 -0
  1424. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +19 -0
  1425. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +21 -0
  1426. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +24 -0
  1427. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +26 -0
  1428. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +20 -0
  1429. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +22 -0
  1430. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +6 -0
  1431. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +8 -0
  1432. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +15 -0
  1433. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +17 -0
  1434. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +28 -0
  1435. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +30 -0
  1436. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +33 -0
  1437. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +35 -0
  1438. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +25 -0
  1439. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +27 -0
  1440. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +20 -0
  1441. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +22 -0
  1442. package/Source/Shaders/AtmosphereCommon.glsl +187 -0
  1443. package/Source/Shaders/AtmosphereCommon.js +189 -0
  1444. package/Source/Shaders/BillboardCollectionFS.glsl +261 -0
  1445. package/Source/Shaders/BillboardCollectionFS.js +262 -0
  1446. package/Source/Shaders/BillboardCollectionVS.glsl +445 -0
  1447. package/Source/Shaders/BillboardCollectionVS.js +447 -0
  1448. package/Source/Shaders/BrdfLutGeneratorFS.glsl +100 -0
  1449. package/Source/Shaders/BrdfLutGeneratorFS.js +102 -0
  1450. package/Source/Shaders/Builtin/Constants/degreesPerRadian.glsl +16 -0
  1451. package/Source/Shaders/Builtin/Constants/degreesPerRadian.js +18 -0
  1452. package/Source/Shaders/Builtin/Constants/depthRange.glsl +14 -0
  1453. package/Source/Shaders/Builtin/Constants/depthRange.js +16 -0
  1454. package/Source/Shaders/Builtin/Constants/epsilon1.glsl +7 -0
  1455. package/Source/Shaders/Builtin/Constants/epsilon1.js +9 -0
  1456. package/Source/Shaders/Builtin/Constants/epsilon2.glsl +7 -0
  1457. package/Source/Shaders/Builtin/Constants/epsilon2.js +9 -0
  1458. package/Source/Shaders/Builtin/Constants/epsilon3.glsl +7 -0
  1459. package/Source/Shaders/Builtin/Constants/epsilon3.js +9 -0
  1460. package/Source/Shaders/Builtin/Constants/epsilon4.glsl +7 -0
  1461. package/Source/Shaders/Builtin/Constants/epsilon4.js +9 -0
  1462. package/Source/Shaders/Builtin/Constants/epsilon5.glsl +7 -0
  1463. package/Source/Shaders/Builtin/Constants/epsilon5.js +9 -0
  1464. package/Source/Shaders/Builtin/Constants/epsilon6.glsl +7 -0
  1465. package/Source/Shaders/Builtin/Constants/epsilon6.js +9 -0
  1466. package/Source/Shaders/Builtin/Constants/epsilon7.glsl +7 -0
  1467. package/Source/Shaders/Builtin/Constants/epsilon7.js +9 -0
  1468. package/Source/Shaders/Builtin/Constants/infinity.glsl +7 -0
  1469. package/Source/Shaders/Builtin/Constants/infinity.js +9 -0
  1470. package/Source/Shaders/Builtin/Constants/oneOverPi.glsl +16 -0
  1471. package/Source/Shaders/Builtin/Constants/oneOverPi.js +18 -0
  1472. package/Source/Shaders/Builtin/Constants/oneOverTwoPi.glsl +16 -0
  1473. package/Source/Shaders/Builtin/Constants/oneOverTwoPi.js +18 -0
  1474. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +9 -0
  1475. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +11 -0
  1476. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +9 -0
  1477. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +11 -0
  1478. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +9 -0
  1479. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +11 -0
  1480. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.glsl +10 -0
  1481. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.js +12 -0
  1482. package/Source/Shaders/Builtin/Constants/passClassification.glsl +9 -0
  1483. package/Source/Shaders/Builtin/Constants/passClassification.js +11 -0
  1484. package/Source/Shaders/Builtin/Constants/passCompute.glsl +9 -0
  1485. package/Source/Shaders/Builtin/Constants/passCompute.js +11 -0
  1486. package/Source/Shaders/Builtin/Constants/passEnvironment.glsl +9 -0
  1487. package/Source/Shaders/Builtin/Constants/passEnvironment.js +11 -0
  1488. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +9 -0
  1489. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +11 -0
  1490. package/Source/Shaders/Builtin/Constants/passGlobe.glsl +9 -0
  1491. package/Source/Shaders/Builtin/Constants/passGlobe.js +11 -0
  1492. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +9 -0
  1493. package/Source/Shaders/Builtin/Constants/passOpaque.js +11 -0
  1494. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +9 -0
  1495. package/Source/Shaders/Builtin/Constants/passOverlay.js +11 -0
  1496. package/Source/Shaders/Builtin/Constants/passTerrainClassification.glsl +9 -0
  1497. package/Source/Shaders/Builtin/Constants/passTerrainClassification.js +11 -0
  1498. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +9 -0
  1499. package/Source/Shaders/Builtin/Constants/passTranslucent.js +11 -0
  1500. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
  1501. package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
  1502. package/Source/Shaders/Builtin/Constants/pi.glsl +16 -0
  1503. package/Source/Shaders/Builtin/Constants/pi.js +18 -0
  1504. package/Source/Shaders/Builtin/Constants/piOverFour.glsl +16 -0
  1505. package/Source/Shaders/Builtin/Constants/piOverFour.js +18 -0
  1506. package/Source/Shaders/Builtin/Constants/piOverSix.glsl +16 -0
  1507. package/Source/Shaders/Builtin/Constants/piOverSix.js +18 -0
  1508. package/Source/Shaders/Builtin/Constants/piOverThree.glsl +16 -0
  1509. package/Source/Shaders/Builtin/Constants/piOverThree.js +18 -0
  1510. package/Source/Shaders/Builtin/Constants/piOverTwo.glsl +16 -0
  1511. package/Source/Shaders/Builtin/Constants/piOverTwo.js +18 -0
  1512. package/Source/Shaders/Builtin/Constants/radiansPerDegree.glsl +16 -0
  1513. package/Source/Shaders/Builtin/Constants/radiansPerDegree.js +18 -0
  1514. package/Source/Shaders/Builtin/Constants/sceneMode2D.glsl +11 -0
  1515. package/Source/Shaders/Builtin/Constants/sceneMode2D.js +13 -0
  1516. package/Source/Shaders/Builtin/Constants/sceneMode3D.glsl +11 -0
  1517. package/Source/Shaders/Builtin/Constants/sceneMode3D.js +13 -0
  1518. package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.glsl +11 -0
  1519. package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.js +13 -0
  1520. package/Source/Shaders/Builtin/Constants/sceneModeMorphing.glsl +11 -0
  1521. package/Source/Shaders/Builtin/Constants/sceneModeMorphing.js +13 -0
  1522. package/Source/Shaders/Builtin/Constants/solarRadius.glsl +13 -0
  1523. package/Source/Shaders/Builtin/Constants/solarRadius.js +15 -0
  1524. package/Source/Shaders/Builtin/Constants/threePiOver2.glsl +16 -0
  1525. package/Source/Shaders/Builtin/Constants/threePiOver2.js +18 -0
  1526. package/Source/Shaders/Builtin/Constants/twoPi.glsl +16 -0
  1527. package/Source/Shaders/Builtin/Constants/twoPi.js +18 -0
  1528. package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.glsl +16 -0
  1529. package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +18 -0
  1530. package/Source/Shaders/Builtin/CzmBuiltins.js +280 -0
  1531. package/Source/Shaders/Builtin/Functions/HSBToRGB.glsl +24 -0
  1532. package/Source/Shaders/Builtin/Functions/HSBToRGB.js +26 -0
  1533. package/Source/Shaders/Builtin/Functions/HSLToRGB.glsl +31 -0
  1534. package/Source/Shaders/Builtin/Functions/HSLToRGB.js +33 -0
  1535. package/Source/Shaders/Builtin/Functions/RGBToHSB.glsl +27 -0
  1536. package/Source/Shaders/Builtin/Functions/RGBToHSB.js +29 -0
  1537. package/Source/Shaders/Builtin/Functions/RGBToHSL.glsl +34 -0
  1538. package/Source/Shaders/Builtin/Functions/RGBToHSL.js +36 -0
  1539. package/Source/Shaders/Builtin/Functions/RGBToXYZ.glsl +30 -0
  1540. package/Source/Shaders/Builtin/Functions/RGBToXYZ.js +32 -0
  1541. package/Source/Shaders/Builtin/Functions/XYZToRGB.glsl +30 -0
  1542. package/Source/Shaders/Builtin/Functions/XYZToRGB.js +32 -0
  1543. package/Source/Shaders/Builtin/Functions/acesTonemapping.glsl +16 -0
  1544. package/Source/Shaders/Builtin/Functions/acesTonemapping.js +18 -0
  1545. package/Source/Shaders/Builtin/Functions/alphaWeight.glsl +11 -0
  1546. package/Source/Shaders/Builtin/Functions/alphaWeight.js +13 -0
  1547. package/Source/Shaders/Builtin/Functions/antialias.glsl +39 -0
  1548. package/Source/Shaders/Builtin/Functions/antialias.js +41 -0
  1549. package/Source/Shaders/Builtin/Functions/applyHSBShift.glsl +32 -0
  1550. package/Source/Shaders/Builtin/Functions/applyHSBShift.js +34 -0
  1551. package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.glsl +18 -0
  1552. package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.js +20 -0
  1553. package/Source/Shaders/Builtin/Functions/approximateTanh.glsl +10 -0
  1554. package/Source/Shaders/Builtin/Functions/approximateTanh.js +12 -0
  1555. package/Source/Shaders/Builtin/Functions/backFacing.glsl +13 -0
  1556. package/Source/Shaders/Builtin/Functions/backFacing.js +15 -0
  1557. package/Source/Shaders/Builtin/Functions/branchFreeTernary.glsl +71 -0
  1558. package/Source/Shaders/Builtin/Functions/branchFreeTernary.js +73 -0
  1559. package/Source/Shaders/Builtin/Functions/cascadeColor.glsl +8 -0
  1560. package/Source/Shaders/Builtin/Functions/cascadeColor.js +10 -0
  1561. package/Source/Shaders/Builtin/Functions/cascadeDistance.glsl +7 -0
  1562. package/Source/Shaders/Builtin/Functions/cascadeDistance.js +9 -0
  1563. package/Source/Shaders/Builtin/Functions/cascadeMatrix.glsl +10 -0
  1564. package/Source/Shaders/Builtin/Functions/cascadeMatrix.js +12 -0
  1565. package/Source/Shaders/Builtin/Functions/cascadeWeights.glsl +10 -0
  1566. package/Source/Shaders/Builtin/Functions/cascadeWeights.js +12 -0
  1567. package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +37 -0
  1568. package/Source/Shaders/Builtin/Functions/clipPolygons.js +39 -0
  1569. package/Source/Shaders/Builtin/Functions/columbusViewMorph.glsl +12 -0
  1570. package/Source/Shaders/Builtin/Functions/columbusViewMorph.js +14 -0
  1571. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +88 -0
  1572. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +90 -0
  1573. package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.glsl +30 -0
  1574. package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.js +32 -0
  1575. package/Source/Shaders/Builtin/Functions/computePosition.glsl +22 -0
  1576. package/Source/Shaders/Builtin/Functions/computePosition.js +24 -0
  1577. package/Source/Shaders/Builtin/Functions/computeScattering.glsl +149 -0
  1578. package/Source/Shaders/Builtin/Functions/computeScattering.js +151 -0
  1579. package/Source/Shaders/Builtin/Functions/cosineAndSine.glsl +211 -0
  1580. package/Source/Shaders/Builtin/Functions/cosineAndSine.js +213 -0
  1581. package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.glsl +17 -0
  1582. package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.js +19 -0
  1583. package/Source/Shaders/Builtin/Functions/depthClamp.glsl +47 -0
  1584. package/Source/Shaders/Builtin/Functions/depthClamp.js +49 -0
  1585. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.glsl +33 -0
  1586. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +35 -0
  1587. package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.glsl +12 -0
  1588. package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +14 -0
  1589. package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.glsl +10 -0
  1590. package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.js +12 -0
  1591. package/Source/Shaders/Builtin/Functions/equalsEpsilon.glsl +36 -0
  1592. package/Source/Shaders/Builtin/Functions/equalsEpsilon.js +38 -0
  1593. package/Source/Shaders/Builtin/Functions/eyeOffset.glsl +20 -0
  1594. package/Source/Shaders/Builtin/Functions/eyeOffset.js +22 -0
  1595. package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.glsl +32 -0
  1596. package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +34 -0
  1597. package/Source/Shaders/Builtin/Functions/fastApproximateAtan.glsl +55 -0
  1598. package/Source/Shaders/Builtin/Functions/fastApproximateAtan.js +57 -0
  1599. package/Source/Shaders/Builtin/Functions/fog.glsl +38 -0
  1600. package/Source/Shaders/Builtin/Functions/fog.js +40 -0
  1601. package/Source/Shaders/Builtin/Functions/gammaCorrect.glsl +22 -0
  1602. package/Source/Shaders/Builtin/Functions/gammaCorrect.js +24 -0
  1603. package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.glsl +16 -0
  1604. package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +18 -0
  1605. package/Source/Shaders/Builtin/Functions/getDefaultMaterial.glsl +27 -0
  1606. package/Source/Shaders/Builtin/Functions/getDefaultMaterial.js +29 -0
  1607. package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.glsl +22 -0
  1608. package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.js +24 -0
  1609. package/Source/Shaders/Builtin/Functions/getLambertDiffuse.glsl +22 -0
  1610. package/Source/Shaders/Builtin/Functions/getLambertDiffuse.js +24 -0
  1611. package/Source/Shaders/Builtin/Functions/getSpecular.glsl +29 -0
  1612. package/Source/Shaders/Builtin/Functions/getSpecular.js +31 -0
  1613. package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +37 -0
  1614. package/Source/Shaders/Builtin/Functions/getWaterNoise.js +39 -0
  1615. package/Source/Shaders/Builtin/Functions/hue.glsl +30 -0
  1616. package/Source/Shaders/Builtin/Functions/hue.js +32 -0
  1617. package/Source/Shaders/Builtin/Functions/inverseGamma.glsl +12 -0
  1618. package/Source/Shaders/Builtin/Functions/inverseGamma.js +14 -0
  1619. package/Source/Shaders/Builtin/Functions/isEmpty.glsl +19 -0
  1620. package/Source/Shaders/Builtin/Functions/isEmpty.js +21 -0
  1621. package/Source/Shaders/Builtin/Functions/isFull.glsl +19 -0
  1622. package/Source/Shaders/Builtin/Functions/isFull.js +21 -0
  1623. package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.glsl +21 -0
  1624. package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +23 -0
  1625. package/Source/Shaders/Builtin/Functions/lineDistance.glsl +14 -0
  1626. package/Source/Shaders/Builtin/Functions/lineDistance.js +16 -0
  1627. package/Source/Shaders/Builtin/Functions/linearToSrgb.glsl +16 -0
  1628. package/Source/Shaders/Builtin/Functions/linearToSrgb.js +18 -0
  1629. package/Source/Shaders/Builtin/Functions/luminance.glsl +20 -0
  1630. package/Source/Shaders/Builtin/Functions/luminance.js +22 -0
  1631. package/Source/Shaders/Builtin/Functions/maximumComponent.glsl +21 -0
  1632. package/Source/Shaders/Builtin/Functions/maximumComponent.js +23 -0
  1633. package/Source/Shaders/Builtin/Functions/metersPerPixel.glsl +61 -0
  1634. package/Source/Shaders/Builtin/Functions/metersPerPixel.js +63 -0
  1635. package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.glsl +38 -0
  1636. package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.js +40 -0
  1637. package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.glsl +18 -0
  1638. package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.js +20 -0
  1639. package/Source/Shaders/Builtin/Functions/nearFarScalar.glsl +26 -0
  1640. package/Source/Shaders/Builtin/Functions/nearFarScalar.js +28 -0
  1641. package/Source/Shaders/Builtin/Functions/octDecode.glsl +83 -0
  1642. package/Source/Shaders/Builtin/Functions/octDecode.js +85 -0
  1643. package/Source/Shaders/Builtin/Functions/packDepth.glsl +18 -0
  1644. package/Source/Shaders/Builtin/Functions/packDepth.js +20 -0
  1645. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +164 -0
  1646. package/Source/Shaders/Builtin/Functions/pbrLighting.js +166 -0
  1647. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  1648. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  1649. package/Source/Shaders/Builtin/Functions/phong.glsl +63 -0
  1650. package/Source/Shaders/Builtin/Functions/phong.js +65 -0
  1651. package/Source/Shaders/Builtin/Functions/planeDistance.glsl +28 -0
  1652. package/Source/Shaders/Builtin/Functions/planeDistance.js +30 -0
  1653. package/Source/Shaders/Builtin/Functions/pointAlongRay.glsl +19 -0
  1654. package/Source/Shaders/Builtin/Functions/pointAlongRay.js +21 -0
  1655. package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.glsl +83 -0
  1656. package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +85 -0
  1657. package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.glsl +36 -0
  1658. package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.js +38 -0
  1659. package/Source/Shaders/Builtin/Functions/readDepth.glsl +4 -0
  1660. package/Source/Shaders/Builtin/Functions/readDepth.js +6 -0
  1661. package/Source/Shaders/Builtin/Functions/readNonPerspective.glsl +31 -0
  1662. package/Source/Shaders/Builtin/Functions/readNonPerspective.js +33 -0
  1663. package/Source/Shaders/Builtin/Functions/reverseLogDepth.glsl +11 -0
  1664. package/Source/Shaders/Builtin/Functions/reverseLogDepth.js +13 -0
  1665. package/Source/Shaders/Builtin/Functions/round.glsl +22 -0
  1666. package/Source/Shaders/Builtin/Functions/round.js +24 -0
  1667. package/Source/Shaders/Builtin/Functions/saturation.glsl +22 -0
  1668. package/Source/Shaders/Builtin/Functions/saturation.js +24 -0
  1669. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +24 -0
  1670. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +26 -0
  1671. package/Source/Shaders/Builtin/Functions/shadowVisibility.glsl +66 -0
  1672. package/Source/Shaders/Builtin/Functions/shadowVisibility.js +68 -0
  1673. package/Source/Shaders/Builtin/Functions/signNotZero.glsl +29 -0
  1674. package/Source/Shaders/Builtin/Functions/signNotZero.js +31 -0
  1675. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +44 -0
  1676. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +46 -0
  1677. package/Source/Shaders/Builtin/Functions/srgbToLinear.glsl +16 -0
  1678. package/Source/Shaders/Builtin/Functions/srgbToLinear.js +18 -0
  1679. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +25 -0
  1680. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +27 -0
  1681. package/Source/Shaders/Builtin/Functions/textureCube.glsl +36 -0
  1682. package/Source/Shaders/Builtin/Functions/textureCube.js +37 -0
  1683. package/Source/Shaders/Builtin/Functions/transformPlane.glsl +15 -0
  1684. package/Source/Shaders/Builtin/Functions/transformPlane.js +17 -0
  1685. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +45 -0
  1686. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +47 -0
  1687. package/Source/Shaders/Builtin/Functions/translucentPhong.glsl +27 -0
  1688. package/Source/Shaders/Builtin/Functions/translucentPhong.js +29 -0
  1689. package/Source/Shaders/Builtin/Functions/transpose.glsl +45 -0
  1690. package/Source/Shaders/Builtin/Functions/transpose.js +47 -0
  1691. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +14 -0
  1692. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +15 -0
  1693. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +16 -0
  1694. package/Source/Shaders/Builtin/Functions/unpackDepth.js +18 -0
  1695. package/Source/Shaders/Builtin/Functions/unpackFloat.glsl +24 -0
  1696. package/Source/Shaders/Builtin/Functions/unpackFloat.js +26 -0
  1697. package/Source/Shaders/Builtin/Functions/unpackUint.glsl +31 -0
  1698. package/Source/Shaders/Builtin/Functions/unpackUint.js +33 -0
  1699. package/Source/Shaders/Builtin/Functions/valueTransform.glsl +38 -0
  1700. package/Source/Shaders/Builtin/Functions/valueTransform.js +40 -0
  1701. package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +64 -0
  1702. package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +66 -0
  1703. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +110 -0
  1704. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +112 -0
  1705. package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +24 -0
  1706. package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +26 -0
  1707. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +79 -0
  1708. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +81 -0
  1709. package/Source/Shaders/Builtin/Functions/writeNonPerspective.glsl +32 -0
  1710. package/Source/Shaders/Builtin/Functions/writeNonPerspective.js +34 -0
  1711. package/Source/Shaders/Builtin/Structs/depthRangeStruct.glsl +9 -0
  1712. package/Source/Shaders/Builtin/Structs/depthRangeStruct.js +11 -0
  1713. package/Source/Shaders/Builtin/Structs/material.glsl +22 -0
  1714. package/Source/Shaders/Builtin/Structs/material.js +24 -0
  1715. package/Source/Shaders/Builtin/Structs/materialInput.glsl +30 -0
  1716. package/Source/Shaders/Builtin/Structs/materialInput.js +32 -0
  1717. package/Source/Shaders/Builtin/Structs/modelMaterial.glsl +45 -0
  1718. package/Source/Shaders/Builtin/Structs/modelMaterial.js +47 -0
  1719. package/Source/Shaders/Builtin/Structs/modelVertexOutput.glsl +16 -0
  1720. package/Source/Shaders/Builtin/Structs/modelVertexOutput.js +18 -0
  1721. package/Source/Shaders/Builtin/Structs/ray.glsl +11 -0
  1722. package/Source/Shaders/Builtin/Structs/ray.js +13 -0
  1723. package/Source/Shaders/Builtin/Structs/raySegment.glsl +27 -0
  1724. package/Source/Shaders/Builtin/Structs/raySegment.js +29 -0
  1725. package/Source/Shaders/Builtin/Structs/shadowParameters.glsl +15 -0
  1726. package/Source/Shaders/Builtin/Structs/shadowParameters.js +17 -0
  1727. package/Source/Shaders/CloudCollectionFS.glsl +263 -0
  1728. package/Source/Shaders/CloudCollectionFS.js +265 -0
  1729. package/Source/Shaders/CloudCollectionVS.glsl +48 -0
  1730. package/Source/Shaders/CloudCollectionVS.js +50 -0
  1731. package/Source/Shaders/CloudNoiseFS.glsl +92 -0
  1732. package/Source/Shaders/CloudNoiseFS.js +94 -0
  1733. package/Source/Shaders/CloudNoiseVS.glsl +18 -0
  1734. package/Source/Shaders/CloudNoiseVS.js +20 -0
  1735. package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +12 -0
  1736. package/Source/Shaders/CompareAndPackTranslucentDepth.js +14 -0
  1737. package/Source/Shaders/CompositeOITFS.glsl +31 -0
  1738. package/Source/Shaders/CompositeOITFS.js +33 -0
  1739. package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
  1740. package/Source/Shaders/ComputeIrradianceFS.js +105 -0
  1741. package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
  1742. package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
  1743. package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
  1744. package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
  1745. package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
  1746. package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
  1747. package/Source/Shaders/DepthPlaneFS.glsl +36 -0
  1748. package/Source/Shaders/DepthPlaneFS.js +38 -0
  1749. package/Source/Shaders/DepthPlaneVS.glsl +11 -0
  1750. package/Source/Shaders/DepthPlaneVS.js +13 -0
  1751. package/Source/Shaders/EllipsoidFS.glsl +104 -0
  1752. package/Source/Shaders/EllipsoidFS.js +106 -0
  1753. package/Source/Shaders/EllipsoidVS.glsl +28 -0
  1754. package/Source/Shaders/EllipsoidVS.js +30 -0
  1755. package/Source/Shaders/FXAA3_11.glsl +650 -0
  1756. package/Source/Shaders/FXAA3_11.js +680 -0
  1757. package/Source/Shaders/GlobeFS.glsl +692 -0
  1758. package/Source/Shaders/GlobeFS.js +694 -0
  1759. package/Source/Shaders/GlobeVS.glsl +286 -0
  1760. package/Source/Shaders/GlobeVS.js +288 -0
  1761. package/Source/Shaders/GroundAtmosphere.glsl +18 -0
  1762. package/Source/Shaders/GroundAtmosphere.js +20 -0
  1763. package/Source/Shaders/Materials/AspectRampMaterial.glsl +11 -0
  1764. package/Source/Shaders/Materials/AspectRampMaterial.js +13 -0
  1765. package/Source/Shaders/Materials/BumpMapMaterial.glsl +29 -0
  1766. package/Source/Shaders/Materials/BumpMapMaterial.js +31 -0
  1767. package/Source/Shaders/Materials/CheckerboardMaterial.glsl +29 -0
  1768. package/Source/Shaders/Materials/CheckerboardMaterial.js +31 -0
  1769. package/Source/Shaders/Materials/DotMaterial.glsl +18 -0
  1770. package/Source/Shaders/Materials/DotMaterial.js +20 -0
  1771. package/Source/Shaders/Materials/ElevationBandMaterial.glsl +74 -0
  1772. package/Source/Shaders/Materials/ElevationBandMaterial.js +76 -0
  1773. package/Source/Shaders/Materials/ElevationContourMaterial.glsl +26 -0
  1774. package/Source/Shaders/Materials/ElevationContourMaterial.js +28 -0
  1775. package/Source/Shaders/Materials/ElevationRampMaterial.glsl +14 -0
  1776. package/Source/Shaders/Materials/ElevationRampMaterial.js +16 -0
  1777. package/Source/Shaders/Materials/FadeMaterial.glsl +37 -0
  1778. package/Source/Shaders/Materials/FadeMaterial.js +39 -0
  1779. package/Source/Shaders/Materials/GridMaterial.glsl +57 -0
  1780. package/Source/Shaders/Materials/GridMaterial.js +59 -0
  1781. package/Source/Shaders/Materials/NormalMapMaterial.glsl +19 -0
  1782. package/Source/Shaders/Materials/NormalMapMaterial.js +21 -0
  1783. package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +63 -0
  1784. package/Source/Shaders/Materials/PolylineArrowMaterial.js +65 -0
  1785. package/Source/Shaders/Materials/PolylineDashMaterial.glsl +39 -0
  1786. package/Source/Shaders/Materials/PolylineDashMaterial.js +41 -0
  1787. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +25 -0
  1788. package/Source/Shaders/Materials/PolylineGlowMaterial.js +27 -0
  1789. package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +29 -0
  1790. package/Source/Shaders/Materials/PolylineOutlineMaterial.js +31 -0
  1791. package/Source/Shaders/Materials/RimLightingMaterial.glsl +21 -0
  1792. package/Source/Shaders/Materials/RimLightingMaterial.js +23 -0
  1793. package/Source/Shaders/Materials/SlopeRampMaterial.glsl +11 -0
  1794. package/Source/Shaders/Materials/SlopeRampMaterial.js +13 -0
  1795. package/Source/Shaders/Materials/StripeMaterial.glsl +24 -0
  1796. package/Source/Shaders/Materials/StripeMaterial.js +26 -0
  1797. package/Source/Shaders/Materials/Water.glsl +58 -0
  1798. package/Source/Shaders/Materials/Water.js +60 -0
  1799. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  1800. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  1801. package/Source/Shaders/Model/AtmosphereStageFS.glsl +108 -0
  1802. package/Source/Shaders/Model/AtmosphereStageFS.js +110 -0
  1803. package/Source/Shaders/Model/AtmosphereStageVS.glsl +12 -0
  1804. package/Source/Shaders/Model/AtmosphereStageVS.js +14 -0
  1805. package/Source/Shaders/Model/CPUStylingStageFS.glsl +49 -0
  1806. package/Source/Shaders/Model/CPUStylingStageFS.js +51 -0
  1807. package/Source/Shaders/Model/CPUStylingStageVS.glsl +30 -0
  1808. package/Source/Shaders/Model/CPUStylingStageVS.js +32 -0
  1809. package/Source/Shaders/Model/CustomShaderStageFS.glsl +18 -0
  1810. package/Source/Shaders/Model/CustomShaderStageFS.js +20 -0
  1811. package/Source/Shaders/Model/CustomShaderStageVS.glsl +19 -0
  1812. package/Source/Shaders/Model/CustomShaderStageVS.js +21 -0
  1813. package/Source/Shaders/Model/EdgeDetectionStageFS.glsl +58 -0
  1814. package/Source/Shaders/Model/EdgeDetectionStageFS.js +60 -0
  1815. package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +83 -0
  1816. package/Source/Shaders/Model/EdgeVisibilityStageFS.js +85 -0
  1817. package/Source/Shaders/Model/FeatureIdStageFS.glsl +4 -0
  1818. package/Source/Shaders/Model/FeatureIdStageFS.js +6 -0
  1819. package/Source/Shaders/Model/FeatureIdStageVS.glsl +6 -0
  1820. package/Source/Shaders/Model/FeatureIdStageVS.js +8 -0
  1821. package/Source/Shaders/Model/GeometryStageFS.glsl +25 -0
  1822. package/Source/Shaders/Model/GeometryStageFS.js +27 -0
  1823. package/Source/Shaders/Model/GeometryStageVS.glsl +42 -0
  1824. package/Source/Shaders/Model/GeometryStageVS.js +44 -0
  1825. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +101 -0
  1826. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +103 -0
  1827. package/Source/Shaders/Model/InstancingStageCommon.glsl +67 -0
  1828. package/Source/Shaders/Model/InstancingStageCommon.js +69 -0
  1829. package/Source/Shaders/Model/InstancingStageVS.glsl +18 -0
  1830. package/Source/Shaders/Model/InstancingStageVS.js +20 -0
  1831. package/Source/Shaders/Model/LegacyInstancingStageVS.glsl +20 -0
  1832. package/Source/Shaders/Model/LegacyInstancingStageVS.js +22 -0
  1833. package/Source/Shaders/Model/LightingStageFS.glsl +120 -0
  1834. package/Source/Shaders/Model/LightingStageFS.js +122 -0
  1835. package/Source/Shaders/Model/MaterialStageFS.glsl +497 -0
  1836. package/Source/Shaders/Model/MaterialStageFS.js +499 -0
  1837. package/Source/Shaders/Model/MetadataStageFS.glsl +9 -0
  1838. package/Source/Shaders/Model/MetadataStageFS.js +11 -0
  1839. package/Source/Shaders/Model/MetadataStageVS.glsl +10 -0
  1840. package/Source/Shaders/Model/MetadataStageVS.js +12 -0
  1841. package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +88 -0
  1842. package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +90 -0
  1843. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +6 -0
  1844. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +8 -0
  1845. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +27 -0
  1846. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +29 -0
  1847. package/Source/Shaders/Model/ModelColorStageFS.glsl +7 -0
  1848. package/Source/Shaders/Model/ModelColorStageFS.js +9 -0
  1849. package/Source/Shaders/Model/ModelFS.glsl +133 -0
  1850. package/Source/Shaders/Model/ModelFS.js +135 -0
  1851. package/Source/Shaders/Model/ModelSilhouetteStageFS.glsl +5 -0
  1852. package/Source/Shaders/Model/ModelSilhouetteStageFS.js +6 -0
  1853. package/Source/Shaders/Model/ModelSilhouetteStageVS.glsl +10 -0
  1854. package/Source/Shaders/Model/ModelSilhouetteStageVS.js +12 -0
  1855. package/Source/Shaders/Model/ModelSplitterStageFS.glsl +9 -0
  1856. package/Source/Shaders/Model/ModelSplitterStageFS.js +11 -0
  1857. package/Source/Shaders/Model/ModelVS.glsl +161 -0
  1858. package/Source/Shaders/Model/ModelVS.js +163 -0
  1859. package/Source/Shaders/Model/MorphTargetsStageVS.glsl +15 -0
  1860. package/Source/Shaders/Model/MorphTargetsStageVS.js +16 -0
  1861. package/Source/Shaders/Model/PointCloudStylingStageVS.glsl +45 -0
  1862. package/Source/Shaders/Model/PointCloudStylingStageVS.js +47 -0
  1863. package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +15 -0
  1864. package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +17 -0
  1865. package/Source/Shaders/Model/PrimitiveOutlineStageVS.glsl +3 -0
  1866. package/Source/Shaders/Model/PrimitiveOutlineStageVS.js +5 -0
  1867. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +51 -0
  1868. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +53 -0
  1869. package/Source/Shaders/Model/SkinningStageVS.glsl +18 -0
  1870. package/Source/Shaders/Model/SkinningStageVS.js +19 -0
  1871. package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +39 -0
  1872. package/Source/Shaders/Model/VerticalExaggerationStageVS.js +41 -0
  1873. package/Source/Shaders/PointPrimitiveCollectionFS.glsl +47 -0
  1874. package/Source/Shaders/PointPrimitiveCollectionFS.js +49 -0
  1875. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +185 -0
  1876. package/Source/Shaders/PointPrimitiveCollectionVS.js +187 -0
  1877. package/Source/Shaders/PolygonSignedDistanceFS.glsl +100 -0
  1878. package/Source/Shaders/PolygonSignedDistanceFS.js +101 -0
  1879. package/Source/Shaders/PolylineCommon.glsl +176 -0
  1880. package/Source/Shaders/PolylineCommon.js +178 -0
  1881. package/Source/Shaders/PolylineFS.glsl +25 -0
  1882. package/Source/Shaders/PolylineFS.js +27 -0
  1883. package/Source/Shaders/PolylineShadowVolumeFS.glsl +86 -0
  1884. package/Source/Shaders/PolylineShadowVolumeFS.js +88 -0
  1885. package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +45 -0
  1886. package/Source/Shaders/PolylineShadowVolumeMorphFS.js +47 -0
  1887. package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +177 -0
  1888. package/Source/Shaders/PolylineShadowVolumeMorphVS.js +179 -0
  1889. package/Source/Shaders/PolylineShadowVolumeVS.glsl +168 -0
  1890. package/Source/Shaders/PolylineShadowVolumeVS.js +170 -0
  1891. package/Source/Shaders/PolylineVS.glsl +103 -0
  1892. package/Source/Shaders/PolylineVS.js +105 -0
  1893. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +25 -0
  1894. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +27 -0
  1895. package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +17 -0
  1896. package/Source/Shaders/PostProcessStages/AdditiveBlend.js +19 -0
  1897. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +144 -0
  1898. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +146 -0
  1899. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +11 -0
  1900. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +13 -0
  1901. package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +19 -0
  1902. package/Source/Shaders/PostProcessStages/BlackAndWhite.js +21 -0
  1903. package/Source/Shaders/PostProcessStages/BloomComposite.glsl +20 -0
  1904. package/Source/Shaders/PostProcessStages/BloomComposite.js +22 -0
  1905. package/Source/Shaders/PostProcessStages/BrightPass.glsl +30 -0
  1906. package/Source/Shaders/PostProcessStages/BrightPass.js +32 -0
  1907. package/Source/Shaders/PostProcessStages/Brightness.glsl +11 -0
  1908. package/Source/Shaders/PostProcessStages/Brightness.js +13 -0
  1909. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +31 -0
  1910. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +33 -0
  1911. package/Source/Shaders/PostProcessStages/ContrastBias.glsl +17 -0
  1912. package/Source/Shaders/PostProcessStages/ContrastBias.js +19 -0
  1913. package/Source/Shaders/PostProcessStages/DepthOfField.glsl +39 -0
  1914. package/Source/Shaders/PostProcessStages/DepthOfField.js +41 -0
  1915. package/Source/Shaders/PostProcessStages/DepthView.glsl +9 -0
  1916. package/Source/Shaders/PostProcessStages/DepthView.js +11 -0
  1917. package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +14 -0
  1918. package/Source/Shaders/PostProcessStages/DepthViewPacked.js +16 -0
  1919. package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +60 -0
  1920. package/Source/Shaders/PostProcessStages/EdgeDetection.js +62 -0
  1921. package/Source/Shaders/PostProcessStages/FXAA.glsl +21 -0
  1922. package/Source/Shaders/PostProcessStages/FXAA.js +23 -0
  1923. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +40 -0
  1924. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +42 -0
  1925. package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +47 -0
  1926. package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +49 -0
  1927. package/Source/Shaders/PostProcessStages/LensFlare.glsl +153 -0
  1928. package/Source/Shaders/PostProcessStages/LensFlare.js +155 -0
  1929. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +28 -0
  1930. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +30 -0
  1931. package/Source/Shaders/PostProcessStages/NightVision.glsl +16 -0
  1932. package/Source/Shaders/PostProcessStages/NightVision.js +18 -0
  1933. package/Source/Shaders/PostProcessStages/PassThrough.glsl +8 -0
  1934. package/Source/Shaders/PostProcessStages/PassThrough.js +10 -0
  1935. package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +8 -0
  1936. package/Source/Shaders/PostProcessStages/PassThroughDepth.js +10 -0
  1937. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  1938. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  1939. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +61 -0
  1940. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +63 -0
  1941. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +27 -0
  1942. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +29 -0
  1943. package/Source/Shaders/PostProcessStages/Silhouette.glsl +11 -0
  1944. package/Source/Shaders/PostProcessStages/Silhouette.js +13 -0
  1945. package/Source/Shaders/PrimitiveGaussianSplatFS.glsl +18 -0
  1946. package/Source/Shaders/PrimitiveGaussianSplatFS.js +20 -0
  1947. package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +189 -0
  1948. package/Source/Shaders/PrimitiveGaussianSplatVS.js +190 -0
  1949. package/Source/Shaders/ReprojectWebMercatorFS.glsl +8 -0
  1950. package/Source/Shaders/ReprojectWebMercatorFS.js +10 -0
  1951. package/Source/Shaders/ReprojectWebMercatorVS.glsl +12 -0
  1952. package/Source/Shaders/ReprojectWebMercatorVS.js +14 -0
  1953. package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +153 -0
  1954. package/Source/Shaders/ShadowVolumeAppearanceFS.js +155 -0
  1955. package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +101 -0
  1956. package/Source/Shaders/ShadowVolumeAppearanceVS.js +103 -0
  1957. package/Source/Shaders/ShadowVolumeFS.glsl +13 -0
  1958. package/Source/Shaders/ShadowVolumeFS.js +15 -0
  1959. package/Source/Shaders/SkyAtmosphereCommon.glsl +81 -0
  1960. package/Source/Shaders/SkyAtmosphereCommon.js +83 -0
  1961. package/Source/Shaders/SkyAtmosphereFS.glsl +59 -0
  1962. package/Source/Shaders/SkyAtmosphereFS.js +61 -0
  1963. package/Source/Shaders/SkyAtmosphereVS.glsl +32 -0
  1964. package/Source/Shaders/SkyAtmosphereVS.js +34 -0
  1965. package/Source/Shaders/SkyBoxFS.glsl +9 -0
  1966. package/Source/Shaders/SkyBoxFS.js +11 -0
  1967. package/Source/Shaders/SkyBoxVS.glsl +9 -0
  1968. package/Source/Shaders/SkyBoxVS.js +11 -0
  1969. package/Source/Shaders/SunFS.glsl +9 -0
  1970. package/Source/Shaders/SunFS.js +11 -0
  1971. package/Source/Shaders/SunTextureFS.glsl +55 -0
  1972. package/Source/Shaders/SunTextureFS.js +57 -0
  1973. package/Source/Shaders/SunVS.glsl +28 -0
  1974. package/Source/Shaders/SunVS.js +30 -0
  1975. package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +48 -0
  1976. package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +50 -0
  1977. package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +85 -0
  1978. package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +87 -0
  1979. package/Source/Shaders/Vector3DTilePolylinesVS.glsl +22 -0
  1980. package/Source/Shaders/Vector3DTilePolylinesVS.js +24 -0
  1981. package/Source/Shaders/VectorTileVS.glsl +9 -0
  1982. package/Source/Shaders/VectorTileVS.js +11 -0
  1983. package/Source/Shaders/ViewportQuadFS.glsl +16 -0
  1984. package/Source/Shaders/ViewportQuadFS.js +18 -0
  1985. package/Source/Shaders/ViewportQuadVS.glsl +10 -0
  1986. package/Source/Shaders/ViewportQuadVS.js +12 -0
  1987. package/Source/Shaders/Voxels/IntersectBox.glsl +34 -0
  1988. package/Source/Shaders/Voxels/IntersectBox.js +36 -0
  1989. package/Source/Shaders/Voxels/IntersectCylinder.glsl +142 -0
  1990. package/Source/Shaders/Voxels/IntersectCylinder.js +144 -0
  1991. package/Source/Shaders/Voxels/IntersectDepth.glsl +27 -0
  1992. package/Source/Shaders/Voxels/IntersectDepth.js +29 -0
  1993. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +330 -0
  1994. package/Source/Shaders/Voxels/IntersectEllipsoid.js +332 -0
  1995. package/Source/Shaders/Voxels/IntersectLongitude.glsl +114 -0
  1996. package/Source/Shaders/Voxels/IntersectLongitude.js +116 -0
  1997. package/Source/Shaders/Voxels/IntersectPlane.glsl +80 -0
  1998. package/Source/Shaders/Voxels/IntersectPlane.js +82 -0
  1999. package/Source/Shaders/Voxels/Intersection.glsl +50 -0
  2000. package/Source/Shaders/Voxels/Intersection.js +52 -0
  2001. package/Source/Shaders/Voxels/IntersectionUtils.glsl +167 -0
  2002. package/Source/Shaders/Voxels/IntersectionUtils.js +169 -0
  2003. package/Source/Shaders/Voxels/Megatexture.glsl +123 -0
  2004. package/Source/Shaders/Voxels/Megatexture.js +125 -0
  2005. package/Source/Shaders/Voxels/Octree.glsl +257 -0
  2006. package/Source/Shaders/Voxels/Octree.js +259 -0
  2007. package/Source/Shaders/Voxels/VoxelFS.glsl +267 -0
  2008. package/Source/Shaders/Voxels/VoxelFS.js +269 -0
  2009. package/Source/Shaders/Voxels/VoxelUtils.glsl +12 -0
  2010. package/Source/Shaders/Voxels/VoxelUtils.js +14 -0
  2011. package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
  2012. package/Source/Shaders/Voxels/VoxelVS.js +13 -0
  2013. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +30 -0
  2014. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +32 -0
  2015. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +97 -0
  2016. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +99 -0
  2017. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +193 -0
  2018. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +195 -0
  2019. package/Source/ThirdParty/Workers/basis_transcoder.js +21 -0
  2020. package/Source/ThirdParty/Workers/package.json +1 -0
  2021. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -0
  2022. package/Source/ThirdParty/basis_transcoder.wasm +0 -0
  2023. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  2024. package/Source/ThirdParty/google-earth-dbroot-parser.js +8337 -0
  2025. package/Source/ThirdParty/wasm_splats_bg.wasm +0 -0
  2026. package/Source/ThirdParty/zip-module.wasm +0 -0
  2027. package/Source/Widget/CesiumWidget.css +119 -0
  2028. package/Source/Widget/CesiumWidget.js +1606 -0
  2029. package/Source/Widget/lighter.css +14 -0
  2030. package/Source/Workers/combineGeometry.js +13 -0
  2031. package/Source/Workers/createBoxGeometry.js +10 -0
  2032. package/Source/Workers/createBoxOutlineGeometry.js +10 -0
  2033. package/Source/Workers/createCircleGeometry.js +18 -0
  2034. package/Source/Workers/createCircleOutlineGeometry.js +18 -0
  2035. package/Source/Workers/createCoplanarPolygonGeometry.js +10 -0
  2036. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +15 -0
  2037. package/Source/Workers/createCorridorGeometry.js +12 -0
  2038. package/Source/Workers/createCorridorOutlineGeometry.js +17 -0
  2039. package/Source/Workers/createCylinderGeometry.js +10 -0
  2040. package/Source/Workers/createCylinderOutlineGeometry.js +10 -0
  2041. package/Source/Workers/createEllipseGeometry.js +14 -0
  2042. package/Source/Workers/createEllipseOutlineGeometry.js +14 -0
  2043. package/Source/Workers/createEllipsoidGeometry.js +10 -0
  2044. package/Source/Workers/createEllipsoidOutlineGeometry.js +13 -0
  2045. package/Source/Workers/createFrustumGeometry.js +10 -0
  2046. package/Source/Workers/createFrustumOutlineGeometry.js +10 -0
  2047. package/Source/Workers/createGeometry.js +78 -0
  2048. package/Source/Workers/createGroundPolylineGeometry.js +16 -0
  2049. package/Source/Workers/createPlaneGeometry.js +10 -0
  2050. package/Source/Workers/createPlaneOutlineGeometry.js +10 -0
  2051. package/Source/Workers/createPolygonGeometry.js +12 -0
  2052. package/Source/Workers/createPolygonOutlineGeometry.js +12 -0
  2053. package/Source/Workers/createPolylineGeometry.js +12 -0
  2054. package/Source/Workers/createPolylineVolumeGeometry.js +17 -0
  2055. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +22 -0
  2056. package/Source/Workers/createRectangleGeometry.js +14 -0
  2057. package/Source/Workers/createRectangleOutlineGeometry.js +17 -0
  2058. package/Source/Workers/createSimplePolylineGeometry.js +17 -0
  2059. package/Source/Workers/createSphereGeometry.js +10 -0
  2060. package/Source/Workers/createSphereOutlineGeometry.js +10 -0
  2061. package/Source/Workers/createTaskProcessorWorker.js +113 -0
  2062. package/Source/Workers/createVectorTileClampedPolylines.js +541 -0
  2063. package/Source/Workers/createVectorTileGeometries.js +414 -0
  2064. package/Source/Workers/createVectorTilePoints.js +81 -0
  2065. package/Source/Workers/createVectorTilePolygons.js +412 -0
  2066. package/Source/Workers/createVectorTilePolylines.js +210 -0
  2067. package/Source/Workers/createVerticesFromCesium3DTilesTerrain.js +46 -0
  2068. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +651 -0
  2069. package/Source/Workers/createVerticesFromHeightmap.js +53 -0
  2070. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +549 -0
  2071. package/Source/Workers/createWallGeometry.js +12 -0
  2072. package/Source/Workers/createWallOutlineGeometry.js +12 -0
  2073. package/Source/Workers/decodeDraco.js +383 -0
  2074. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +268 -0
  2075. package/Source/Workers/decodeI3S.js +1652 -0
  2076. package/Source/Workers/gaussianSplatSorter.js +34 -0
  2077. package/Source/Workers/gaussianSplatTextureGenerator.js +39 -0
  2078. package/Source/Workers/incrementallyBuildTerrainPicker.js +108 -0
  2079. package/Source/Workers/transcodeKTX2.js +308 -0
  2080. package/Source/Workers/transferTypedArrayTest.js +16 -0
  2081. package/Source/Workers/upsampleQuantizedTerrainMesh.js +681 -0
  2082. package/Source/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +55 -0
  2083. package/index.d.ts +46026 -0
  2084. package/index.js +1227 -0
  2085. package/package.json +79 -0
@@ -0,0 +1,1575 @@
1
+ import Cartesian3 from "../Core/Cartesian3.js";
2
+ import Cartographic from "../Core/Cartographic.js";
3
+ import defined from "../Core/defined.js";
4
+ import DeveloperError from "../Core/DeveloperError.js";
5
+ import Event from "../Core/Event.js";
6
+ import getTimestamp from "../Core/getTimestamp.js";
7
+ import CesiumMath from "../Core/Math.js";
8
+ import Matrix4 from "../Core/Matrix4.js";
9
+ import OrthographicFrustum from "../Core/OrthographicFrustum.js";
10
+ import OrthographicOffCenterFrustum from "../Core/OrthographicOffCenterFrustum.js";
11
+ import Ray from "../Core/Ray.js";
12
+ import Rectangle from "../Core/Rectangle.js";
13
+ import Visibility from "../Core/Visibility.js";
14
+ import QuadtreeOccluders from "./QuadtreeOccluders.js";
15
+ import QuadtreeTile from "./QuadtreeTile.js";
16
+ import QuadtreeTileLoadState from "./QuadtreeTileLoadState.js";
17
+ import SceneMode from "./SceneMode.js";
18
+ import TileReplacementQueue from "./TileReplacementQueue.js";
19
+ import TileSelectionResult from "./TileSelectionResult.js";
20
+
21
+ /**
22
+ * Renders massive sets of data by utilizing level-of-detail and culling. The globe surface is divided into
23
+ * a quadtree of tiles with large, low-detail tiles at the root and small, high-detail tiles at the leaves.
24
+ * The set of tiles to render is selected by projecting an estimate of the geometric error in a tile onto
25
+ * the screen to estimate screen-space error, in pixels, which must be below a user-specified threshold.
26
+ * The actual content of the tiles is arbitrary and is specified using a {@link QuadtreeTileProvider}.
27
+ *
28
+ * @alias QuadtreePrimitive
29
+ * @constructor
30
+ * @private
31
+ *
32
+ * @param {QuadtreeTileProvider} options.tileProvider The tile provider that loads, renders, and estimates
33
+ * the distance to individual tiles.
34
+ * @param {number} [options.maximumScreenSpaceError=2] The maximum screen-space error, in pixels, that is allowed.
35
+ * A higher maximum error will render fewer tiles and improve performance, while a lower
36
+ * value will improve visual quality.
37
+ * @param {number} [options.tileCacheSize=100] The maximum number of tiles that will be retained in the tile cache.
38
+ * Note that tiles will never be unloaded if they were used for rendering the last
39
+ * frame, so the actual number of resident tiles may be higher. The value of
40
+ * this property will not affect visual quality.
41
+ */
42
+ function QuadtreePrimitive(options) {
43
+ //>>includeStart('debug', pragmas.debug);
44
+ if (!defined(options) || !defined(options.tileProvider)) {
45
+ throw new DeveloperError("options.tileProvider is required.");
46
+ }
47
+ if (defined(options.tileProvider.quadtree)) {
48
+ throw new DeveloperError(
49
+ "A QuadtreeTileProvider can only be used with a single QuadtreePrimitive",
50
+ );
51
+ }
52
+ //>>includeEnd('debug');
53
+
54
+ this._tileProvider = options.tileProvider;
55
+ this._tileProvider.quadtree = this;
56
+
57
+ this._debug = {
58
+ enableDebugOutput: false,
59
+
60
+ maxDepth: 0,
61
+ maxDepthVisited: 0,
62
+ tilesVisited: 0,
63
+ tilesCulled: 0,
64
+ tilesRendered: 0,
65
+ tilesWaitingForChildren: 0,
66
+
67
+ lastMaxDepth: -1,
68
+ lastMaxDepthVisited: -1,
69
+ lastTilesVisited: -1,
70
+ lastTilesCulled: -1,
71
+ lastTilesRendered: -1,
72
+ lastTilesWaitingForChildren: -1,
73
+
74
+ suspendLodUpdate: false,
75
+ };
76
+
77
+ const tilingScheme = this._tileProvider.tilingScheme;
78
+ const ellipsoid = tilingScheme.ellipsoid;
79
+
80
+ this._tilesToRender = [];
81
+ this._tileLoadQueueHigh = []; // high priority tiles are preventing refinement
82
+ this._tileLoadQueueMedium = []; // medium priority tiles are being rendered
83
+ this._tileLoadQueueLow = []; // low priority tiles were refined past or are non-visible parts of quads.
84
+ this._tileReplacementQueue = new TileReplacementQueue();
85
+ this._levelZeroTiles = undefined;
86
+ this._loadQueueTimeSlice = 5.0;
87
+ this._tilesInvalidated = false;
88
+
89
+ this._addHeightCallbacks = [];
90
+ this._removeHeightCallbacks = [];
91
+
92
+ this._tileToUpdateHeights = [];
93
+ this._updateHeightsTimeSlice = 2.0;
94
+
95
+ // If a culled tile contains _cameraPositionCartographic or _cameraReferenceFrameOriginCartographic, it will be marked
96
+ // TileSelectionResult.CULLED_BUT_NEEDED and added to the list of tiles to update heights,
97
+ // even though it is not rendered.
98
+ // These are updated each frame in `selectTilesForRendering`.
99
+ this._cameraPositionCartographic = undefined;
100
+ this._cameraReferenceFrameOriginCartographic = undefined;
101
+
102
+ /**
103
+ * Gets or sets the maximum screen-space error, in pixels, that is allowed.
104
+ * A higher maximum error will render fewer tiles and improve performance, while a lower
105
+ * value will improve visual quality.
106
+ * @type {number}
107
+ * @default 2
108
+ */
109
+ this.maximumScreenSpaceError = options.maximumScreenSpaceError ?? 2;
110
+
111
+ /**
112
+ * Gets or sets the maximum number of tiles that will be retained in the tile cache.
113
+ * Note that tiles will never be unloaded if they were used for rendering the last
114
+ * frame, so the actual number of resident tiles may be higher. The value of
115
+ * this property will not affect visual quality.
116
+ * @type {number}
117
+ * @default 100
118
+ */
119
+ this.tileCacheSize = options.tileCacheSize ?? 100;
120
+
121
+ /**
122
+ * Gets or sets the number of loading descendant tiles that is considered "too many".
123
+ * If a tile has too many loading descendants, that tile will be loaded and rendered before any of
124
+ * its descendants are loaded and rendered. This means more feedback for the user that something
125
+ * is happening at the cost of a longer overall load time. Setting this to 0 will cause each
126
+ * tile level to be loaded successively, significantly increasing load time. Setting it to a large
127
+ * number (e.g. 1000) will minimize the number of tiles that are loaded but tend to make
128
+ * detail appear all at once after a long wait.
129
+ * @type {number}
130
+ * @default 20
131
+ */
132
+ this.loadingDescendantLimit = 20;
133
+
134
+ /**
135
+ * Gets or sets a value indicating whether the ancestors of rendered tiles should be preloaded.
136
+ * Setting this to true optimizes the zoom-out experience and provides more detail in
137
+ * newly-exposed areas when panning. The down side is that it requires loading more tiles.
138
+ * @type {boolean}
139
+ * @default true
140
+ */
141
+ this.preloadAncestors = true;
142
+
143
+ /**
144
+ * Gets or sets a value indicating whether the siblings of rendered tiles should be preloaded.
145
+ * Setting this to true causes tiles with the same parent as a rendered tile to be loaded, even
146
+ * if they are culled. Setting this to true may provide a better panning experience at the
147
+ * cost of loading more tiles.
148
+ * @type {boolean}
149
+ * @default false
150
+ */
151
+ this.preloadSiblings = false;
152
+
153
+ this._occluders = new QuadtreeOccluders({
154
+ ellipsoid: ellipsoid,
155
+ });
156
+
157
+ this._tileLoadProgressEvent = new Event();
158
+ this._lastTileLoadQueueLength = 0;
159
+
160
+ this._lastSelectionFrameNumber = undefined;
161
+ }
162
+
163
+ Object.defineProperties(QuadtreePrimitive.prototype, {
164
+ /**
165
+ * Gets the provider of {@link QuadtreeTile} instances for this quadtree.
166
+ * @type {QuadtreeTile}
167
+ * @memberof QuadtreePrimitive.prototype
168
+ */
169
+ tileProvider: {
170
+ get: function () {
171
+ return this._tileProvider;
172
+ },
173
+ },
174
+ /**
175
+ * Gets an event that's raised when the length of the tile load queue has changed since the last render frame. When the load queue is empty,
176
+ * all terrain and imagery for the current view have been loaded. The event passes the new length of the tile load queue.
177
+ *
178
+ * @memberof QuadtreePrimitive.prototype
179
+ * @type {Event}
180
+ */
181
+ tileLoadProgressEvent: {
182
+ get: function () {
183
+ return this._tileLoadProgressEvent;
184
+ },
185
+ },
186
+
187
+ occluders: {
188
+ get: function () {
189
+ return this._occluders;
190
+ },
191
+ },
192
+ });
193
+
194
+ /**
195
+ * Invalidates and frees all the tiles in the quadtree. The tiles must be reloaded
196
+ * before they can be displayed.
197
+ *
198
+ * @memberof QuadtreePrimitive
199
+ */
200
+ QuadtreePrimitive.prototype.invalidateAllTiles = function () {
201
+ this._tilesInvalidated = true;
202
+ };
203
+
204
+ function invalidateAllTiles(primitive) {
205
+ // Clear the replacement queue
206
+ const replacementQueue = primitive._tileReplacementQueue;
207
+ replacementQueue.head = undefined;
208
+ replacementQueue.tail = undefined;
209
+ replacementQueue.count = 0;
210
+
211
+ clearTileLoadQueue(primitive);
212
+
213
+ // Free and recreate the level zero tiles.
214
+ const levelZeroTiles = primitive._levelZeroTiles;
215
+ if (defined(levelZeroTiles)) {
216
+ for (let i = 0; i < levelZeroTiles.length; ++i) {
217
+ const tile = levelZeroTiles[i];
218
+ const customData = tile.customData;
219
+
220
+ for (const data of customData) {
221
+ data.level = 0;
222
+ primitive._addHeightCallbacks.push(data);
223
+ }
224
+
225
+ levelZeroTiles[i].freeResources();
226
+ }
227
+ }
228
+
229
+ primitive._levelZeroTiles = undefined;
230
+
231
+ primitive._tileProvider.cancelReprojections();
232
+ }
233
+
234
+ /**
235
+ * Invokes a specified function for each {@link QuadtreeTile} that is partially
236
+ * or completely loaded.
237
+ *
238
+ * @param {Function} tileFunction The function to invoke for each loaded tile. The
239
+ * function is passed a reference to the tile as its only parameter.
240
+ */
241
+ QuadtreePrimitive.prototype.forEachLoadedTile = function (tileFunction) {
242
+ let tile = this._tileReplacementQueue.head;
243
+ while (defined(tile)) {
244
+ if (tile.state !== QuadtreeTileLoadState.START) {
245
+ tileFunction(tile);
246
+ }
247
+ tile = tile.replacementNext;
248
+ }
249
+ };
250
+
251
+ /**
252
+ * Invokes a specified function for each {@link QuadtreeTile} that was rendered
253
+ * in the most recent frame.
254
+ *
255
+ * @param {Function} tileFunction The function to invoke for each rendered tile. The
256
+ * function is passed a reference to the tile as its only parameter.
257
+ */
258
+ QuadtreePrimitive.prototype.forEachRenderedTile = function (tileFunction) {
259
+ const tilesRendered = this._tilesToRender;
260
+ for (let i = 0, len = tilesRendered.length; i < len; ++i) {
261
+ tileFunction(tilesRendered[i]);
262
+ }
263
+ };
264
+
265
+ /**
266
+ * Calls the callback when a new tile is rendered that contains the given cartographic. The only parameter
267
+ * is the cartesian position on the tile.
268
+ *
269
+ * @param {Cartographic} cartographic The cartographic position.
270
+ * @param {Function} callback The function to be called when a new tile is loaded containing the updated cartographic.
271
+ * @returns {Function} The function to remove this callback from the quadtree.
272
+ */
273
+ QuadtreePrimitive.prototype.updateHeight = function (cartographic, callback) {
274
+ const primitive = this;
275
+ const object = {
276
+ positionOnEllipsoidSurface: undefined,
277
+ positionCartographic: cartographic,
278
+ level: -1,
279
+ callback: callback,
280
+ };
281
+
282
+ object.removeFunc = function () {
283
+ const addedCallbacks = primitive._addHeightCallbacks;
284
+ const length = addedCallbacks.length;
285
+ for (let i = 0; i < length; ++i) {
286
+ if (addedCallbacks[i] === object) {
287
+ addedCallbacks.splice(i, 1);
288
+ break;
289
+ }
290
+ }
291
+ primitive._removeHeightCallbacks.push(object);
292
+ if (object.callback) {
293
+ object.callback = undefined;
294
+ }
295
+ };
296
+
297
+ primitive._addHeightCallbacks.push(object);
298
+ return object.removeFunc;
299
+ };
300
+
301
+ /**
302
+ * Updates the tile provider imagery and continues to process the tile load queue.
303
+ * @private
304
+ */
305
+ QuadtreePrimitive.prototype.update = function (frameState) {
306
+ if (defined(this._tileProvider.update)) {
307
+ this._tileProvider.update(frameState);
308
+ }
309
+ };
310
+
311
+ function clearTileLoadQueue(primitive) {
312
+ const debug = primitive._debug;
313
+ debug.maxDepth = 0;
314
+ debug.maxDepthVisited = 0;
315
+ debug.tilesVisited = 0;
316
+ debug.tilesCulled = 0;
317
+ debug.tilesRendered = 0;
318
+ debug.tilesWaitingForChildren = 0;
319
+
320
+ primitive._tileLoadQueueHigh.length = 0;
321
+ primitive._tileLoadQueueMedium.length = 0;
322
+ primitive._tileLoadQueueLow.length = 0;
323
+ }
324
+
325
+ /**
326
+ * Initializes values for a new render frame and prepare the tile load queue.
327
+ * @private
328
+ */
329
+ QuadtreePrimitive.prototype.beginFrame = function (frameState) {
330
+ const passes = frameState.passes;
331
+ if (!passes.render) {
332
+ return;
333
+ }
334
+
335
+ if (this._tilesInvalidated) {
336
+ invalidateAllTiles(this);
337
+ this._tilesInvalidated = false;
338
+ }
339
+
340
+ // Gets commands for any texture re-projections
341
+ this._tileProvider.initialize(frameState);
342
+
343
+ clearTileLoadQueue(this);
344
+
345
+ if (this._debug.suspendLodUpdate) {
346
+ return;
347
+ }
348
+
349
+ this._tileReplacementQueue.markStartOfRenderFrame();
350
+ };
351
+
352
+ /**
353
+ * Selects new tiles to load based on the frame state and creates render commands.
354
+ * @private
355
+ */
356
+ QuadtreePrimitive.prototype.render = function (frameState) {
357
+ const passes = frameState.passes;
358
+ const tileProvider = this._tileProvider;
359
+
360
+ if (passes.render) {
361
+ tileProvider.beginUpdate(frameState);
362
+
363
+ selectTilesForRendering(this, frameState);
364
+ createRenderCommandsForSelectedTiles(this, frameState);
365
+
366
+ tileProvider.endUpdate(frameState);
367
+ }
368
+
369
+ if (passes.pick && this._tilesToRender.length > 0) {
370
+ tileProvider.updateForPick(frameState);
371
+ }
372
+ };
373
+
374
+ /**
375
+ * Checks if the load queue length has changed since the last time we raised a queue change event - if so, raises
376
+ * a new change event at the end of the render cycle.
377
+ * @private
378
+ */
379
+ function updateTileLoadProgress(primitive, frameState) {
380
+ const currentLoadQueueLength =
381
+ primitive._tileLoadQueueHigh.length +
382
+ primitive._tileLoadQueueMedium.length +
383
+ primitive._tileLoadQueueLow.length;
384
+
385
+ if (
386
+ currentLoadQueueLength !== primitive._lastTileLoadQueueLength ||
387
+ primitive._tilesInvalidated
388
+ ) {
389
+ const raiseEvent = Event.prototype.raiseEvent.bind(
390
+ primitive._tileLoadProgressEvent,
391
+ currentLoadQueueLength,
392
+ );
393
+ frameState.afterRender.push(() => {
394
+ raiseEvent();
395
+ return true;
396
+ });
397
+ primitive._lastTileLoadQueueLength = currentLoadQueueLength;
398
+ }
399
+
400
+ const debug = primitive._debug;
401
+ if (debug.enableDebugOutput && !debug.suspendLodUpdate) {
402
+ debug.maxDepth = primitive._tilesToRender.reduce(function (max, tile) {
403
+ return Math.max(max, tile.level);
404
+ }, -1);
405
+ debug.tilesRendered = primitive._tilesToRender.length;
406
+
407
+ if (
408
+ debug.tilesVisited !== debug.lastTilesVisited ||
409
+ debug.tilesRendered !== debug.lastTilesRendered ||
410
+ debug.tilesCulled !== debug.lastTilesCulled ||
411
+ debug.maxDepth !== debug.lastMaxDepth ||
412
+ debug.tilesWaitingForChildren !== debug.lastTilesWaitingForChildren ||
413
+ debug.maxDepthVisited !== debug.lastMaxDepthVisited
414
+ ) {
415
+ console.log(
416
+ `Visited ${debug.tilesVisited}, Rendered: ${debug.tilesRendered}, Culled: ${debug.tilesCulled}, Max Depth Rendered: ${debug.maxDepth}, Max Depth Visited: ${debug.maxDepthVisited}, Waiting for children: ${debug.tilesWaitingForChildren}`,
417
+ );
418
+
419
+ debug.lastTilesVisited = debug.tilesVisited;
420
+ debug.lastTilesRendered = debug.tilesRendered;
421
+ debug.lastTilesCulled = debug.tilesCulled;
422
+ debug.lastMaxDepth = debug.maxDepth;
423
+ debug.lastTilesWaitingForChildren = debug.tilesWaitingForChildren;
424
+ debug.lastMaxDepthVisited = debug.maxDepthVisited;
425
+ }
426
+ }
427
+ }
428
+
429
+ /**
430
+ * Updates terrain heights.
431
+ * @private
432
+ */
433
+ QuadtreePrimitive.prototype.endFrame = function (frameState) {
434
+ const passes = frameState.passes;
435
+ if (!passes.render || frameState.mode === SceneMode.MORPHING) {
436
+ // Only process the load queue for a single pass.
437
+ // Don't process the load queue or update heights during the morph flights.
438
+ return;
439
+ }
440
+
441
+ // Load/create resources for terrain and imagery. Prepare texture re-projections for the next frame.
442
+ processTileLoadQueue(this, frameState);
443
+ updateHeights(this, frameState);
444
+ updateTileLoadProgress(this, frameState);
445
+ };
446
+
447
+ /**
448
+ * Returns true if this object was destroyed; otherwise, false.
449
+ * <br /><br />
450
+ * If this object was destroyed, it should not be used; calling any function other than
451
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
452
+ *
453
+ * @memberof QuadtreePrimitive
454
+ *
455
+ * @returns {boolean} True if this object was destroyed; otherwise, false.
456
+ *
457
+ * @see QuadtreePrimitive#destroy
458
+ */
459
+ QuadtreePrimitive.prototype.isDestroyed = function () {
460
+ return false;
461
+ };
462
+
463
+ /**
464
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
465
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
466
+ * <br /><br />
467
+ * Once an object is destroyed, it should not be used; calling any function other than
468
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
469
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
470
+ *
471
+ * @memberof QuadtreePrimitive
472
+ *
473
+ * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
474
+ *
475
+ *
476
+ * @example
477
+ * primitive = primitive && primitive.destroy();
478
+ *
479
+ * @see QuadtreePrimitive#isDestroyed
480
+ */
481
+ QuadtreePrimitive.prototype.destroy = function () {
482
+ this._tileProvider = this._tileProvider && this._tileProvider.destroy();
483
+ };
484
+
485
+ let comparisonPoint;
486
+ const centerScratch = new Cartographic();
487
+ function compareDistanceToPoint(a, b) {
488
+ let center = Rectangle.center(a.rectangle, centerScratch);
489
+ const alon = center.longitude - comparisonPoint.longitude;
490
+ const alat = center.latitude - comparisonPoint.latitude;
491
+
492
+ center = Rectangle.center(b.rectangle, centerScratch);
493
+ const blon = center.longitude - comparisonPoint.longitude;
494
+ const blat = center.latitude - comparisonPoint.latitude;
495
+
496
+ return alon * alon + alat * alat - (blon * blon + blat * blat);
497
+ }
498
+
499
+ const cameraOriginScratch = new Cartesian3();
500
+ let rootTraversalDetails = [];
501
+
502
+ function selectTilesForRendering(primitive, frameState) {
503
+ const debug = primitive._debug;
504
+ if (debug.suspendLodUpdate) {
505
+ return;
506
+ }
507
+
508
+ // Clear the render list.
509
+ const tilesToRender = primitive._tilesToRender;
510
+ tilesToRender.length = 0;
511
+
512
+ // We can't render anything before the level zero tiles exist.
513
+ const tileProvider = primitive._tileProvider;
514
+ if (!defined(primitive._levelZeroTiles)) {
515
+ const tilingScheme = tileProvider.tilingScheme;
516
+ if (defined(tilingScheme)) {
517
+ const tilingScheme = tileProvider.tilingScheme;
518
+ primitive._levelZeroTiles =
519
+ QuadtreeTile.createLevelZeroTiles(tilingScheme);
520
+ const numberOfRootTiles = primitive._levelZeroTiles.length;
521
+ if (rootTraversalDetails.length < numberOfRootTiles) {
522
+ rootTraversalDetails = new Array(numberOfRootTiles);
523
+ for (let i = 0; i < numberOfRootTiles; ++i) {
524
+ if (rootTraversalDetails[i] === undefined) {
525
+ rootTraversalDetails[i] = new TraversalDetails();
526
+ }
527
+ }
528
+ }
529
+ } else {
530
+ return;
531
+ }
532
+ }
533
+
534
+ primitive._occluders.ellipsoid.cameraPosition = frameState.camera.positionWC;
535
+
536
+ const levelZeroTiles = primitive._levelZeroTiles;
537
+ const occluders =
538
+ levelZeroTiles.length > 1 ? primitive._occluders : undefined;
539
+
540
+ // Sort the level zero tiles by the distance from the center to the camera.
541
+ // The level zero tiles aren't necessarily a nice neat quad, so we can't use the
542
+ // quadtree ordering we use elsewhere in the tree
543
+ comparisonPoint = frameState.camera.positionCartographic;
544
+ levelZeroTiles.sort(compareDistanceToPoint);
545
+
546
+ const customDataAdded = primitive._addHeightCallbacks;
547
+ const customDataRemoved = primitive._removeHeightCallbacks;
548
+
549
+ customDataAdded.forEach((data) => {
550
+ const tile = levelZeroTiles.find((tile) =>
551
+ Rectangle.contains(tile.rectangle, data.positionCartographic),
552
+ );
553
+ if (tile) {
554
+ tile._addedCustomData.push(data);
555
+ }
556
+ });
557
+
558
+ customDataRemoved.forEach((data) => {
559
+ const tile = levelZeroTiles.find((tile) =>
560
+ Rectangle.contains(tile.rectangle, data.positionCartographic),
561
+ );
562
+ if (tile) {
563
+ tile._removedCustomData.push(data);
564
+ }
565
+ });
566
+
567
+ levelZeroTiles.forEach((tile) => tile.updateCustomData());
568
+ customDataAdded.length = 0;
569
+ customDataRemoved.length = 0;
570
+
571
+ const camera = frameState.camera;
572
+
573
+ primitive._cameraPositionCartographic = camera.positionCartographic;
574
+ const cameraFrameOrigin = Matrix4.getTranslation(
575
+ camera.transform,
576
+ cameraOriginScratch,
577
+ );
578
+ primitive._cameraReferenceFrameOriginCartographic =
579
+ primitive.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(
580
+ cameraFrameOrigin,
581
+ primitive._cameraReferenceFrameOriginCartographic,
582
+ );
583
+
584
+ // Traverse in depth-first, near-to-far order.
585
+ for (let i = 0; i < levelZeroTiles.length; ++i) {
586
+ const tile = levelZeroTiles[i];
587
+ primitive._tileReplacementQueue.markTileRendered(tile);
588
+ if (!tile.renderable) {
589
+ queueTileLoad(primitive, primitive._tileLoadQueueHigh, tile, frameState);
590
+ ++debug.tilesWaitingForChildren;
591
+ } else {
592
+ visitIfVisible(
593
+ primitive,
594
+ tile,
595
+ tileProvider,
596
+ frameState,
597
+ occluders,
598
+ false,
599
+ rootTraversalDetails[i],
600
+ );
601
+ }
602
+ }
603
+
604
+ primitive._lastSelectionFrameNumber = frameState.frameNumber;
605
+ }
606
+
607
+ function queueTileLoad(primitive, queue, tile, frameState) {
608
+ if (!tile.needsLoading) {
609
+ return;
610
+ }
611
+
612
+ if (primitive.tileProvider.computeTileLoadPriority !== undefined) {
613
+ tile._loadPriority = primitive.tileProvider.computeTileLoadPriority(
614
+ tile,
615
+ frameState,
616
+ );
617
+ }
618
+ queue.push(tile);
619
+ }
620
+
621
+ /**
622
+ * Tracks details of traversing a tile while selecting tiles for rendering.
623
+ * @alias TraversalDetails
624
+ * @constructor
625
+ * @private
626
+ */
627
+ function TraversalDetails() {
628
+ /**
629
+ * True if all selected (i.e. not culled or refined) tiles in this tile's subtree
630
+ * are renderable. If the subtree is renderable, we'll render it; no drama.
631
+ */
632
+ this.allAreRenderable = true;
633
+
634
+ /**
635
+ * True if any tiles in this tile's subtree were rendered last frame. If any
636
+ * were, we must render the subtree rather than this tile, because rendering
637
+ * this tile would cause detail to vanish that was visible last frame, and
638
+ * that's no good.
639
+ */
640
+ this.anyWereRenderedLastFrame = false;
641
+
642
+ /**
643
+ * Counts the number of selected tiles in this tile's subtree that are
644
+ * not yet ready to be rendered because they need more loading. Note that
645
+ * this value will _not_ necessarily be zero when
646
+ * {@link TraversalDetails#allAreRenderable} is true, for subtle reasons.
647
+ * When {@link TraversalDetails#allAreRenderable} and
648
+ * {@link TraversalDetails#anyWereRenderedLastFrame} are both false, we
649
+ * will render this tile instead of any tiles in its subtree and
650
+ * the `allAreRenderable` value for this tile will reflect only whether _this_
651
+ * tile is renderable. The `notYetRenderableCount` value, however, will still
652
+ * reflect the total number of tiles that we are waiting on, including the
653
+ * ones that we're not rendering. `notYetRenderableCount` is only reset
654
+ * when a subtree is removed from the render queue because the
655
+ * `notYetRenderableCount` exceeds the
656
+ * {@link QuadtreePrimitive#loadingDescendantLimit}.
657
+ */
658
+ this.notYetRenderableCount = 0;
659
+ }
660
+
661
+ function TraversalQuadDetails() {
662
+ this.southwest = new TraversalDetails();
663
+ this.southeast = new TraversalDetails();
664
+ this.northwest = new TraversalDetails();
665
+ this.northeast = new TraversalDetails();
666
+ }
667
+
668
+ TraversalQuadDetails.prototype.combine = function (result) {
669
+ const southwest = this.southwest;
670
+ const southeast = this.southeast;
671
+ const northwest = this.northwest;
672
+ const northeast = this.northeast;
673
+
674
+ result.allAreRenderable =
675
+ southwest.allAreRenderable &&
676
+ southeast.allAreRenderable &&
677
+ northwest.allAreRenderable &&
678
+ northeast.allAreRenderable;
679
+ result.anyWereRenderedLastFrame =
680
+ southwest.anyWereRenderedLastFrame ||
681
+ southeast.anyWereRenderedLastFrame ||
682
+ northwest.anyWereRenderedLastFrame ||
683
+ northeast.anyWereRenderedLastFrame;
684
+ result.notYetRenderableCount =
685
+ southwest.notYetRenderableCount +
686
+ southeast.notYetRenderableCount +
687
+ northwest.notYetRenderableCount +
688
+ northeast.notYetRenderableCount;
689
+ };
690
+
691
+ const traversalQuadsByLevel = new Array(31); // level 30 tiles are ~2cm wide at the equator, should be good enough.
692
+ for (let i = 0; i < traversalQuadsByLevel.length; ++i) {
693
+ traversalQuadsByLevel[i] = new TraversalQuadDetails();
694
+ }
695
+
696
+ /**
697
+ * Visits a tile for possible rendering. When we call this function with a tile:
698
+ *
699
+ * * the tile has been determined to be visible (possibly based on a bounding volume that is not very tight-fitting)
700
+ * * its parent tile does _not_ meet the SSE (unless ancestorMeetsSse=true, see comments below)
701
+ * * the tile may or may not be renderable
702
+ *
703
+ * @private
704
+ *
705
+ * @param {Primitive} primitive The QuadtreePrimitive.
706
+ * @param {FrameState} frameState The frame state.
707
+ * @param {QuadtreeTile} tile The tile to visit
708
+ * @param {boolean} ancestorMeetsSse True if a tile higher in the tile tree already met the SSE and we're refining further only
709
+ * to maintain detail while that higher tile loads.
710
+ * @param {TraversalDetails} traveralDetails On return, populated with details of how the traversal of this tile went.
711
+ */
712
+ function visitTile(
713
+ primitive,
714
+ frameState,
715
+ tile,
716
+ ancestorMeetsSse,
717
+ traversalDetails,
718
+ ) {
719
+ const debug = primitive._debug;
720
+
721
+ ++debug.tilesVisited;
722
+
723
+ primitive._tileReplacementQueue.markTileRendered(tile);
724
+ tile.updateCustomData();
725
+
726
+ if (tile.level > debug.maxDepthVisited) {
727
+ debug.maxDepthVisited = tile.level;
728
+ }
729
+
730
+ const meetsSse =
731
+ screenSpaceError(primitive, frameState, tile) <
732
+ primitive.maximumScreenSpaceError;
733
+
734
+ const southwestChild = tile.southwestChild;
735
+ const southeastChild = tile.southeastChild;
736
+ const northwestChild = tile.northwestChild;
737
+ const northeastChild = tile.northeastChild;
738
+
739
+ const lastFrame = primitive._lastSelectionFrameNumber;
740
+ const lastFrameSelectionResult =
741
+ tile._lastSelectionResultFrame === lastFrame
742
+ ? tile._lastSelectionResult
743
+ : TileSelectionResult.NONE;
744
+
745
+ const tileProvider = primitive.tileProvider;
746
+
747
+ if (meetsSse || ancestorMeetsSse) {
748
+ // This tile (or an ancestor) is the one we want to render this frame, but we'll do different things depending
749
+ // on the state of this tile and on what we did _last_ frame.
750
+
751
+ // We can render it if _any_ of the following are true:
752
+ // 1. We rendered it (or kicked it) last frame.
753
+ // 2. This tile was culled last frame, or it wasn't even visited because an ancestor was culled.
754
+ // 3. The tile is completely done loading.
755
+ // 4. a) Terrain is ready, and
756
+ // b) All necessary imagery is ready. Necessary imagery is imagery that was rendered with this tile
757
+ // or any descendants last frame. Such imagery is required because rendering this tile without
758
+ // it would cause detail to disappear.
759
+ //
760
+ // Determining condition 4 is more expensive, so we check the others first.
761
+ //
762
+ // Note that even if we decide to render a tile here, it may later get "kicked" in favor of an ancestor.
763
+
764
+ const oneRenderedLastFrame =
765
+ TileSelectionResult.originalResult(lastFrameSelectionResult) ===
766
+ TileSelectionResult.RENDERED;
767
+ const twoCulledOrNotVisited =
768
+ TileSelectionResult.originalResult(lastFrameSelectionResult) ===
769
+ TileSelectionResult.CULLED ||
770
+ lastFrameSelectionResult === TileSelectionResult.NONE;
771
+ const threeCompletelyLoaded = tile.state === QuadtreeTileLoadState.DONE;
772
+
773
+ let renderable =
774
+ oneRenderedLastFrame || twoCulledOrNotVisited || threeCompletelyLoaded;
775
+
776
+ if (!renderable) {
777
+ // Check the more expensive condition 4 above. This requires details of the thing
778
+ // we're rendering (e.g. the globe surface), so delegate it to the tile provider.
779
+ if (defined(tileProvider.canRenderWithoutLosingDetail)) {
780
+ renderable = tileProvider.canRenderWithoutLosingDetail(tile);
781
+ }
782
+ }
783
+
784
+ if (renderable) {
785
+ // Only load this tile if it (not just an ancestor) meets the SSE.
786
+ if (meetsSse) {
787
+ queueTileLoad(
788
+ primitive,
789
+ primitive._tileLoadQueueMedium,
790
+ tile,
791
+ frameState,
792
+ );
793
+ }
794
+ addTileToRenderList(primitive, tile);
795
+
796
+ traversalDetails.allAreRenderable = tile.renderable;
797
+ traversalDetails.anyWereRenderedLastFrame =
798
+ lastFrameSelectionResult === TileSelectionResult.RENDERED;
799
+ traversalDetails.notYetRenderableCount = tile.renderable ? 0 : 1;
800
+
801
+ tile._lastSelectionResultFrame = frameState.frameNumber;
802
+ tile._lastSelectionResult = TileSelectionResult.RENDERED;
803
+
804
+ if (!traversalDetails.anyWereRenderedLastFrame) {
805
+ // Tile is newly-rendered this frame, so update its heights.
806
+ primitive._tileToUpdateHeights.push(tile);
807
+ }
808
+
809
+ return;
810
+ }
811
+
812
+ // Otherwise, we can't render this tile (or its fill) because doing so would cause detail to disappear
813
+ // that was visible last frame. Instead, keep rendering any still-visible descendants that were rendered
814
+ // last frame and render fills for newly-visible descendants. E.g. if we were rendering level 15 last
815
+ // frame but this frame we want level 14 and the closest renderable level <= 14 is 0, rendering level
816
+ // zero would be pretty jarring so instead we keep rendering level 15 even though its SSE is better
817
+ // than required. So fall through to continue traversal...
818
+ ancestorMeetsSse = true;
819
+
820
+ // Load this blocker tile with high priority, but only if this tile (not just an ancestor) meets the SSE.
821
+ if (meetsSse) {
822
+ queueTileLoad(primitive, primitive._tileLoadQueueHigh, tile, frameState);
823
+ }
824
+ }
825
+
826
+ if (tileProvider.canRefine(tile)) {
827
+ const allAreUpsampled =
828
+ southwestChild.upsampledFromParent &&
829
+ southeastChild.upsampledFromParent &&
830
+ northwestChild.upsampledFromParent &&
831
+ northeastChild.upsampledFromParent;
832
+
833
+ if (allAreUpsampled) {
834
+ // No point in rendering the children because they're all upsampled. Render this tile instead.
835
+ addTileToRenderList(primitive, tile);
836
+
837
+ // Rendered tile that's not waiting on children loads with medium priority.
838
+ queueTileLoad(
839
+ primitive,
840
+ primitive._tileLoadQueueMedium,
841
+ tile,
842
+ frameState,
843
+ );
844
+
845
+ // Make sure we don't unload the children and forget they're upsampled.
846
+ primitive._tileReplacementQueue.markTileRendered(southwestChild);
847
+ primitive._tileReplacementQueue.markTileRendered(southeastChild);
848
+ primitive._tileReplacementQueue.markTileRendered(northwestChild);
849
+ primitive._tileReplacementQueue.markTileRendered(northeastChild);
850
+
851
+ traversalDetails.allAreRenderable = tile.renderable;
852
+ traversalDetails.anyWereRenderedLastFrame =
853
+ lastFrameSelectionResult === TileSelectionResult.RENDERED;
854
+ traversalDetails.notYetRenderableCount = tile.renderable ? 0 : 1;
855
+
856
+ tile._lastSelectionResultFrame = frameState.frameNumber;
857
+ tile._lastSelectionResult = TileSelectionResult.RENDERED;
858
+
859
+ if (!traversalDetails.anyWereRenderedLastFrame) {
860
+ // Tile is newly-rendered this frame, so update its heights.
861
+ primitive._tileToUpdateHeights.push(tile);
862
+ }
863
+
864
+ return;
865
+ }
866
+
867
+ // SSE is not good enough, so refine.
868
+ tile._lastSelectionResultFrame = frameState.frameNumber;
869
+ tile._lastSelectionResult = TileSelectionResult.REFINED;
870
+
871
+ const firstRenderedDescendantIndex = primitive._tilesToRender.length;
872
+ const loadIndexLow = primitive._tileLoadQueueLow.length;
873
+ const loadIndexMedium = primitive._tileLoadQueueMedium.length;
874
+ const loadIndexHigh = primitive._tileLoadQueueHigh.length;
875
+ const tilesToUpdateHeightsIndex = primitive._tileToUpdateHeights.length;
876
+
877
+ // No need to add the children to the load queue because they'll be added (if necessary) when they're visited.
878
+ visitVisibleChildrenNearToFar(
879
+ primitive,
880
+ southwestChild,
881
+ southeastChild,
882
+ northwestChild,
883
+ northeastChild,
884
+ frameState,
885
+ ancestorMeetsSse,
886
+ traversalDetails,
887
+ );
888
+
889
+ // If no descendant tiles were added to the render list by the function above, it means they were all
890
+ // culled even though this tile was deemed visible. That's pretty common.
891
+
892
+ if (firstRenderedDescendantIndex !== primitive._tilesToRender.length) {
893
+ // At least one descendant tile was added to the render list.
894
+ // The traversalDetails tell us what happened while visiting the children.
895
+
896
+ const allAreRenderable = traversalDetails.allAreRenderable;
897
+ const anyWereRenderedLastFrame =
898
+ traversalDetails.anyWereRenderedLastFrame;
899
+ const notYetRenderableCount = traversalDetails.notYetRenderableCount;
900
+ let queuedForLoad = false;
901
+
902
+ if (!allAreRenderable && !anyWereRenderedLastFrame) {
903
+ // Some of our descendants aren't ready to render yet, and none were rendered last frame,
904
+ // so kick them all out of the render list and render this tile instead. Continue to load them though!
905
+
906
+ // Mark the rendered descendants and their ancestors - up to this tile - as kicked.
907
+ const renderList = primitive._tilesToRender;
908
+ for (let i = firstRenderedDescendantIndex; i < renderList.length; ++i) {
909
+ let workTile = renderList[i];
910
+ while (
911
+ workTile !== undefined &&
912
+ workTile._lastSelectionResult !== TileSelectionResult.KICKED &&
913
+ workTile !== tile
914
+ ) {
915
+ workTile._lastSelectionResult = TileSelectionResult.kick(
916
+ workTile._lastSelectionResult,
917
+ );
918
+ workTile = workTile.parent;
919
+ }
920
+ }
921
+
922
+ // Remove all descendants from the render list and add this tile.
923
+ primitive._tilesToRender.length = firstRenderedDescendantIndex;
924
+ primitive._tileToUpdateHeights.length = tilesToUpdateHeightsIndex;
925
+ addTileToRenderList(primitive, tile);
926
+
927
+ tile._lastSelectionResult = TileSelectionResult.RENDERED;
928
+
929
+ // If we're waiting on heaps of descendants, the above will take too long. So in that case,
930
+ // load this tile INSTEAD of loading any of the descendants, and tell the up-level we're only waiting
931
+ // on this tile. Keep doing this until we actually manage to render this tile.
932
+ const wasRenderedLastFrame =
933
+ lastFrameSelectionResult === TileSelectionResult.RENDERED;
934
+ if (
935
+ !wasRenderedLastFrame &&
936
+ notYetRenderableCount > primitive.loadingDescendantLimit
937
+ ) {
938
+ // Remove all descendants from the load queues.
939
+ primitive._tileLoadQueueLow.length = loadIndexLow;
940
+ primitive._tileLoadQueueMedium.length = loadIndexMedium;
941
+ primitive._tileLoadQueueHigh.length = loadIndexHigh;
942
+ queueTileLoad(
943
+ primitive,
944
+ primitive._tileLoadQueueMedium,
945
+ tile,
946
+ frameState,
947
+ );
948
+ traversalDetails.notYetRenderableCount = tile.renderable ? 0 : 1;
949
+ queuedForLoad = true;
950
+ }
951
+
952
+ traversalDetails.allAreRenderable = tile.renderable;
953
+ traversalDetails.anyWereRenderedLastFrame = wasRenderedLastFrame;
954
+
955
+ if (!wasRenderedLastFrame) {
956
+ // Tile is newly-rendered this frame, so update its heights.
957
+ primitive._tileToUpdateHeights.push(tile);
958
+ }
959
+
960
+ ++debug.tilesWaitingForChildren;
961
+ }
962
+
963
+ if (primitive.preloadAncestors && !queuedForLoad) {
964
+ queueTileLoad(primitive, primitive._tileLoadQueueLow, tile, frameState);
965
+ }
966
+ }
967
+
968
+ return;
969
+ }
970
+
971
+ tile._lastSelectionResultFrame = frameState.frameNumber;
972
+ tile._lastSelectionResult = TileSelectionResult.RENDERED;
973
+
974
+ // We'd like to refine but can't because we have no availability data for this tile's children,
975
+ // so we have no idea if refinining would involve a load or an upsample. We'll have to finish
976
+ // loading this tile first in order to find that out, so load this refinement blocker with
977
+ // high priority.
978
+ addTileToRenderList(primitive, tile);
979
+ queueTileLoad(primitive, primitive._tileLoadQueueHigh, tile, frameState);
980
+
981
+ traversalDetails.allAreRenderable = tile.renderable;
982
+ traversalDetails.anyWereRenderedLastFrame =
983
+ lastFrameSelectionResult === TileSelectionResult.RENDERED;
984
+ traversalDetails.notYetRenderableCount = tile.renderable ? 0 : 1;
985
+ }
986
+
987
+ function visitVisibleChildrenNearToFar(
988
+ primitive,
989
+ southwest,
990
+ southeast,
991
+ northwest,
992
+ northeast,
993
+ frameState,
994
+ ancestorMeetsSse,
995
+ traversalDetails,
996
+ ) {
997
+ const cameraPosition = frameState.camera.positionCartographic;
998
+ const tileProvider = primitive._tileProvider;
999
+ const occluders = primitive._occluders;
1000
+
1001
+ const quadDetails = traversalQuadsByLevel[southwest.level];
1002
+ const southwestDetails = quadDetails.southwest;
1003
+ const southeastDetails = quadDetails.southeast;
1004
+ const northwestDetails = quadDetails.northwest;
1005
+ const northeastDetails = quadDetails.northeast;
1006
+
1007
+ if (cameraPosition.longitude < southwest.rectangle.east) {
1008
+ if (cameraPosition.latitude < southwest.rectangle.north) {
1009
+ // Camera in southwest quadrant
1010
+ visitIfVisible(
1011
+ primitive,
1012
+ southwest,
1013
+ tileProvider,
1014
+ frameState,
1015
+ occluders,
1016
+ ancestorMeetsSse,
1017
+ southwestDetails,
1018
+ );
1019
+ visitIfVisible(
1020
+ primitive,
1021
+ southeast,
1022
+ tileProvider,
1023
+ frameState,
1024
+ occluders,
1025
+ ancestorMeetsSse,
1026
+ southeastDetails,
1027
+ );
1028
+ visitIfVisible(
1029
+ primitive,
1030
+ northwest,
1031
+ tileProvider,
1032
+ frameState,
1033
+ occluders,
1034
+ ancestorMeetsSse,
1035
+ northwestDetails,
1036
+ );
1037
+ visitIfVisible(
1038
+ primitive,
1039
+ northeast,
1040
+ tileProvider,
1041
+ frameState,
1042
+ occluders,
1043
+ ancestorMeetsSse,
1044
+ northeastDetails,
1045
+ );
1046
+ } else {
1047
+ // Camera in northwest quadrant
1048
+ visitIfVisible(
1049
+ primitive,
1050
+ northwest,
1051
+ tileProvider,
1052
+ frameState,
1053
+ occluders,
1054
+ ancestorMeetsSse,
1055
+ northwestDetails,
1056
+ );
1057
+ visitIfVisible(
1058
+ primitive,
1059
+ southwest,
1060
+ tileProvider,
1061
+ frameState,
1062
+ occluders,
1063
+ ancestorMeetsSse,
1064
+ southwestDetails,
1065
+ );
1066
+ visitIfVisible(
1067
+ primitive,
1068
+ northeast,
1069
+ tileProvider,
1070
+ frameState,
1071
+ occluders,
1072
+ ancestorMeetsSse,
1073
+ northeastDetails,
1074
+ );
1075
+ visitIfVisible(
1076
+ primitive,
1077
+ southeast,
1078
+ tileProvider,
1079
+ frameState,
1080
+ occluders,
1081
+ ancestorMeetsSse,
1082
+ southeastDetails,
1083
+ );
1084
+ }
1085
+ } else if (cameraPosition.latitude < southwest.rectangle.north) {
1086
+ // Camera southeast quadrant
1087
+ visitIfVisible(
1088
+ primitive,
1089
+ southeast,
1090
+ tileProvider,
1091
+ frameState,
1092
+ occluders,
1093
+ ancestorMeetsSse,
1094
+ southeastDetails,
1095
+ );
1096
+ visitIfVisible(
1097
+ primitive,
1098
+ southwest,
1099
+ tileProvider,
1100
+ frameState,
1101
+ occluders,
1102
+ ancestorMeetsSse,
1103
+ southwestDetails,
1104
+ );
1105
+ visitIfVisible(
1106
+ primitive,
1107
+ northeast,
1108
+ tileProvider,
1109
+ frameState,
1110
+ occluders,
1111
+ ancestorMeetsSse,
1112
+ northeastDetails,
1113
+ );
1114
+ visitIfVisible(
1115
+ primitive,
1116
+ northwest,
1117
+ tileProvider,
1118
+ frameState,
1119
+ occluders,
1120
+ ancestorMeetsSse,
1121
+ northwestDetails,
1122
+ );
1123
+ } else {
1124
+ // Camera in northeast quadrant
1125
+ visitIfVisible(
1126
+ primitive,
1127
+ northeast,
1128
+ tileProvider,
1129
+ frameState,
1130
+ occluders,
1131
+ ancestorMeetsSse,
1132
+ northeastDetails,
1133
+ );
1134
+ visitIfVisible(
1135
+ primitive,
1136
+ northwest,
1137
+ tileProvider,
1138
+ frameState,
1139
+ occluders,
1140
+ ancestorMeetsSse,
1141
+ northwestDetails,
1142
+ );
1143
+ visitIfVisible(
1144
+ primitive,
1145
+ southeast,
1146
+ tileProvider,
1147
+ frameState,
1148
+ occluders,
1149
+ ancestorMeetsSse,
1150
+ southeastDetails,
1151
+ );
1152
+ visitIfVisible(
1153
+ primitive,
1154
+ southwest,
1155
+ tileProvider,
1156
+ frameState,
1157
+ occluders,
1158
+ ancestorMeetsSse,
1159
+ southwestDetails,
1160
+ );
1161
+ }
1162
+
1163
+ quadDetails.combine(traversalDetails);
1164
+ }
1165
+
1166
+ function containsNeededPosition(primitive, tile) {
1167
+ const rectangle = tile.rectangle;
1168
+ return (
1169
+ (defined(primitive._cameraPositionCartographic) &&
1170
+ Rectangle.contains(rectangle, primitive._cameraPositionCartographic)) ||
1171
+ (defined(primitive._cameraReferenceFrameOriginCartographic) &&
1172
+ Rectangle.contains(
1173
+ rectangle,
1174
+ primitive._cameraReferenceFrameOriginCartographic,
1175
+ ))
1176
+ );
1177
+ }
1178
+
1179
+ function visitIfVisible(
1180
+ primitive,
1181
+ tile,
1182
+ tileProvider,
1183
+ frameState,
1184
+ occluders,
1185
+ ancestorMeetsSse,
1186
+ traversalDetails,
1187
+ ) {
1188
+ if (
1189
+ tileProvider.computeTileVisibility(tile, frameState, occluders) !==
1190
+ Visibility.NONE
1191
+ ) {
1192
+ return visitTile(
1193
+ primitive,
1194
+ frameState,
1195
+ tile,
1196
+ ancestorMeetsSse,
1197
+ traversalDetails,
1198
+ );
1199
+ }
1200
+
1201
+ ++primitive._debug.tilesCulled;
1202
+ primitive._tileReplacementQueue.markTileRendered(tile);
1203
+
1204
+ traversalDetails.allAreRenderable = true;
1205
+ traversalDetails.anyWereRenderedLastFrame = false;
1206
+ traversalDetails.notYetRenderableCount = 0;
1207
+
1208
+ if (containsNeededPosition(primitive, tile)) {
1209
+ // Load the tile(s) that contains the camera's position and
1210
+ // the origin of its reference frame with medium priority.
1211
+ // But we only need to load until the terrain is available, no need to load imagery.
1212
+ if (!defined(tile.data) || !defined(tile.data.vertexArray)) {
1213
+ queueTileLoad(
1214
+ primitive,
1215
+ primitive._tileLoadQueueMedium,
1216
+ tile,
1217
+ frameState,
1218
+ );
1219
+ }
1220
+
1221
+ const lastFrame = primitive._lastSelectionFrameNumber;
1222
+ const lastFrameSelectionResult =
1223
+ tile._lastSelectionResultFrame === lastFrame
1224
+ ? tile._lastSelectionResult
1225
+ : TileSelectionResult.NONE;
1226
+ if (
1227
+ lastFrameSelectionResult !== TileSelectionResult.CULLED_BUT_NEEDED &&
1228
+ lastFrameSelectionResult !== TileSelectionResult.RENDERED
1229
+ ) {
1230
+ primitive._tileToUpdateHeights.push(tile);
1231
+ }
1232
+
1233
+ tile._lastSelectionResult = TileSelectionResult.CULLED_BUT_NEEDED;
1234
+ } else if (primitive.preloadSiblings || tile.level === 0) {
1235
+ // Load culled level zero tiles with low priority.
1236
+ // For all other levels, only load culled tiles if preloadSiblings is enabled.
1237
+ queueTileLoad(primitive, primitive._tileLoadQueueLow, tile, frameState);
1238
+ tile._lastSelectionResult = TileSelectionResult.CULLED;
1239
+ } else {
1240
+ tile._lastSelectionResult = TileSelectionResult.CULLED;
1241
+ }
1242
+
1243
+ tile._lastSelectionResultFrame = frameState.frameNumber;
1244
+ }
1245
+
1246
+ function screenSpaceError(primitive, frameState, tile) {
1247
+ if (
1248
+ frameState.mode === SceneMode.SCENE2D ||
1249
+ frameState.camera.frustum instanceof OrthographicFrustum ||
1250
+ frameState.camera.frustum instanceof OrthographicOffCenterFrustum
1251
+ ) {
1252
+ return screenSpaceError2D(primitive, frameState, tile);
1253
+ }
1254
+
1255
+ const maxGeometricError =
1256
+ primitive._tileProvider.getLevelMaximumGeometricError(tile.level);
1257
+
1258
+ const distance = tile._distance;
1259
+ const height = frameState.context.drawingBufferHeight;
1260
+ const sseDenominator = frameState.camera.frustum.sseDenominator;
1261
+
1262
+ let error = (maxGeometricError * height) / (distance * sseDenominator);
1263
+
1264
+ if (frameState.fog.enabled) {
1265
+ error -=
1266
+ CesiumMath.fog(distance, frameState.fog.density) * frameState.fog.sse;
1267
+ }
1268
+
1269
+ error /= frameState.pixelRatio;
1270
+
1271
+ return error;
1272
+ }
1273
+
1274
+ function screenSpaceError2D(primitive, frameState, tile) {
1275
+ const camera = frameState.camera;
1276
+ let frustum = camera.frustum;
1277
+ const offCenterFrustum = frustum.offCenterFrustum;
1278
+ if (defined(offCenterFrustum)) {
1279
+ frustum = offCenterFrustum;
1280
+ }
1281
+
1282
+ const context = frameState.context;
1283
+ const width = context.drawingBufferWidth;
1284
+ const height = context.drawingBufferHeight;
1285
+
1286
+ const maxGeometricError =
1287
+ primitive._tileProvider.getLevelMaximumGeometricError(tile.level);
1288
+ const pixelSize =
1289
+ Math.max(frustum.top - frustum.bottom, frustum.right - frustum.left) /
1290
+ Math.max(width, height);
1291
+ let error = maxGeometricError / pixelSize;
1292
+
1293
+ if (frameState.fog.enabled && frameState.mode !== SceneMode.SCENE2D) {
1294
+ error -=
1295
+ CesiumMath.fog(tile._distance, frameState.fog.density) *
1296
+ frameState.fog.sse;
1297
+ }
1298
+
1299
+ error /= frameState.pixelRatio;
1300
+
1301
+ return error;
1302
+ }
1303
+
1304
+ function addTileToRenderList(primitive, tile) {
1305
+ primitive._tilesToRender.push(tile);
1306
+ }
1307
+
1308
+ function processTileLoadQueue(primitive, frameState) {
1309
+ const tileLoadQueueHigh = primitive._tileLoadQueueHigh;
1310
+ const tileLoadQueueMedium = primitive._tileLoadQueueMedium;
1311
+ const tileLoadQueueLow = primitive._tileLoadQueueLow;
1312
+
1313
+ if (
1314
+ tileLoadQueueHigh.length === 0 &&
1315
+ tileLoadQueueMedium.length === 0 &&
1316
+ tileLoadQueueLow.length === 0
1317
+ ) {
1318
+ return;
1319
+ }
1320
+
1321
+ // Remove any tiles that were not used this frame beyond the number
1322
+ // we're allowed to keep.
1323
+ primitive._tileReplacementQueue.trimTiles(primitive.tileCacheSize);
1324
+
1325
+ const endTime = getTimestamp() + primitive._loadQueueTimeSlice;
1326
+ const tileProvider = primitive._tileProvider;
1327
+
1328
+ let didSomeLoading = processSinglePriorityLoadQueue(
1329
+ primitive,
1330
+ frameState,
1331
+ tileProvider,
1332
+ endTime,
1333
+ tileLoadQueueHigh,
1334
+ false,
1335
+ );
1336
+ didSomeLoading = processSinglePriorityLoadQueue(
1337
+ primitive,
1338
+ frameState,
1339
+ tileProvider,
1340
+ endTime,
1341
+ tileLoadQueueMedium,
1342
+ didSomeLoading,
1343
+ );
1344
+ processSinglePriorityLoadQueue(
1345
+ primitive,
1346
+ frameState,
1347
+ tileProvider,
1348
+ endTime,
1349
+ tileLoadQueueLow,
1350
+ didSomeLoading,
1351
+ );
1352
+ }
1353
+
1354
+ function sortByLoadPriority(a, b) {
1355
+ return a._loadPriority - b._loadPriority;
1356
+ }
1357
+
1358
+ function processSinglePriorityLoadQueue(
1359
+ primitive,
1360
+ frameState,
1361
+ tileProvider,
1362
+ endTime,
1363
+ loadQueue,
1364
+ didSomeLoading,
1365
+ ) {
1366
+ if (tileProvider.computeTileLoadPriority !== undefined) {
1367
+ loadQueue.sort(sortByLoadPriority);
1368
+ }
1369
+
1370
+ for (
1371
+ let i = 0, len = loadQueue.length;
1372
+ i < len && (getTimestamp() < endTime || !didSomeLoading);
1373
+ ++i
1374
+ ) {
1375
+ const tile = loadQueue[i];
1376
+ primitive._tileReplacementQueue.markTileRendered(tile);
1377
+ tileProvider.loadTile(frameState, tile);
1378
+ didSomeLoading = true;
1379
+ }
1380
+
1381
+ return didSomeLoading;
1382
+ }
1383
+
1384
+ const scratchRay = new Ray();
1385
+ const scratchCartographic = new Cartographic();
1386
+ const scratchPosition = new Cartesian3();
1387
+ const scratchArray = [];
1388
+
1389
+ function updateHeights(primitive, frameState) {
1390
+ if (!defined(primitive.tileProvider.tilingScheme)) {
1391
+ return;
1392
+ }
1393
+
1394
+ const tryNextFrame = scratchArray;
1395
+ tryNextFrame.length = 0;
1396
+ const tilesToUpdateHeights = primitive._tileToUpdateHeights;
1397
+
1398
+ const startTime = getTimestamp();
1399
+ const timeSlice = primitive._updateHeightsTimeSlice;
1400
+ const endTime = startTime + timeSlice;
1401
+
1402
+ const mode = frameState.mode;
1403
+ const projection = frameState.mapProjection;
1404
+ const ellipsoid = primitive.tileProvider.tilingScheme.ellipsoid;
1405
+ let i;
1406
+
1407
+ while (tilesToUpdateHeights.length > 0) {
1408
+ const tile = tilesToUpdateHeights[0];
1409
+ if (!defined(tile.data) || !defined(tile.data.mesh)) {
1410
+ // Tile isn't loaded enough yet, so try again next frame if this tile is still
1411
+ // being rendered.
1412
+ const selectionResult =
1413
+ tile._lastSelectionResultFrame === primitive._lastSelectionFrameNumber
1414
+ ? tile._lastSelectionResult
1415
+ : TileSelectionResult.NONE;
1416
+ if (
1417
+ selectionResult === TileSelectionResult.RENDERED ||
1418
+ selectionResult === TileSelectionResult.CULLED_BUT_NEEDED
1419
+ ) {
1420
+ tryNextFrame.push(tile);
1421
+ }
1422
+ // Ensure stale position cache is cleared
1423
+ tile.clearPositionCache();
1424
+ tilesToUpdateHeights.shift();
1425
+ continue;
1426
+ }
1427
+ const customData = tile.customData;
1428
+ if (!defined(tile._customDataIterator)) {
1429
+ tile._customDataIterator = customData.values();
1430
+ }
1431
+ const customDataIterator = tile._customDataIterator;
1432
+
1433
+ let timeSliceMax = false;
1434
+ let nextData;
1435
+ while (!(nextData = customDataIterator.next()).done) {
1436
+ const data = nextData.value;
1437
+
1438
+ // No need to run this code when the tile is upsampled, because the height will be the same as its parent.
1439
+ const terrainData = tile.data.terrainData;
1440
+ const upsampledGeometryFromParent =
1441
+ defined(terrainData) && terrainData.wasCreatedByUpsampling();
1442
+
1443
+ if (tile.level > data.level && !upsampledGeometryFromParent) {
1444
+ let position;
1445
+ // find cached entry
1446
+ const cachedData = tile.getPositionCacheEntry(
1447
+ data.positionCartographic,
1448
+ primitive.maximumScreenSpaceError,
1449
+ );
1450
+ if (defined(cachedData)) {
1451
+ // cache hit
1452
+ position = cachedData;
1453
+ } else {
1454
+ if (!defined(data.positionOnEllipsoidSurface)) {
1455
+ // cartesian has to be on the ellipsoid surface for `ellipsoid.geodeticSurfaceNormal`
1456
+ data.positionOnEllipsoidSurface = Cartesian3.fromRadians(
1457
+ data.positionCartographic.longitude,
1458
+ data.positionCartographic.latitude,
1459
+ 0.0,
1460
+ ellipsoid,
1461
+ );
1462
+ }
1463
+
1464
+ if (mode === SceneMode.SCENE3D) {
1465
+ const surfaceNormal = ellipsoid.geodeticSurfaceNormal(
1466
+ data.positionOnEllipsoidSurface,
1467
+ scratchRay.direction,
1468
+ );
1469
+
1470
+ // compute origin point
1471
+
1472
+ // Try to find the intersection point between the surface normal and z-axis.
1473
+ // minimum height (-11500.0) for the terrain set, need to get this information from the terrain provider
1474
+ const rayOrigin = ellipsoid.getSurfaceNormalIntersectionWithZAxis(
1475
+ data.positionOnEllipsoidSurface,
1476
+ 11500.0,
1477
+ scratchRay.origin,
1478
+ );
1479
+
1480
+ // Theoretically, not with Earth datums, the intersection point can be outside the ellipsoid
1481
+ if (!defined(rayOrigin)) {
1482
+ // intersection point is outside the ellipsoid, try other value
1483
+ // minimum height (-11500.0) for the terrain set, need to get this information from the terrain provider
1484
+ let minimumHeight = 0.0;
1485
+ if (defined(tile.data.tileBoundingRegion)) {
1486
+ minimumHeight = tile.data.tileBoundingRegion.minimumHeight;
1487
+ }
1488
+ const magnitude = Math.min(minimumHeight, -11500.0);
1489
+
1490
+ // multiply by the *positive* value of the magnitude
1491
+ const vectorToMinimumPoint = Cartesian3.multiplyByScalar(
1492
+ surfaceNormal,
1493
+ Math.abs(magnitude) + 1,
1494
+ scratchPosition,
1495
+ );
1496
+ Cartesian3.subtract(
1497
+ data.positionOnEllipsoidSurface,
1498
+ vectorToMinimumPoint,
1499
+ scratchRay.origin,
1500
+ );
1501
+ }
1502
+ } else {
1503
+ Cartographic.clone(data.positionCartographic, scratchCartographic);
1504
+
1505
+ // minimum height for the terrain set, need to get this information from the terrain provider
1506
+ scratchCartographic.height = -11500.0;
1507
+ projection.project(scratchCartographic, scratchPosition);
1508
+ Cartesian3.fromElements(
1509
+ scratchPosition.z,
1510
+ scratchPosition.x,
1511
+ scratchPosition.y,
1512
+ scratchPosition,
1513
+ );
1514
+ Cartesian3.clone(scratchPosition, scratchRay.origin);
1515
+ Cartesian3.clone(Cartesian3.UNIT_X, scratchRay.direction);
1516
+ }
1517
+
1518
+ position = tile.data.pick(
1519
+ scratchRay,
1520
+ mode,
1521
+ projection,
1522
+ false,
1523
+ scratchPosition,
1524
+ );
1525
+
1526
+ if (defined(position)) {
1527
+ // Store the computed position in the cache for future reuse
1528
+ tile.setPositionCacheEntry(
1529
+ data.positionCartographic,
1530
+ primitive.maximumScreenSpaceError,
1531
+ position,
1532
+ );
1533
+ }
1534
+ }
1535
+ if (defined(position)) {
1536
+ if (defined(data.callback)) {
1537
+ const positionCarto = ellipsoid.cartesianToCartographic(
1538
+ position,
1539
+ scratchCartographic,
1540
+ );
1541
+ data.callback(positionCarto);
1542
+ }
1543
+ data.level = tile.level;
1544
+ }
1545
+ }
1546
+
1547
+ if (getTimestamp() >= endTime) {
1548
+ timeSliceMax = true;
1549
+ break;
1550
+ }
1551
+ }
1552
+
1553
+ if (timeSliceMax) {
1554
+ tile._customDataIterator = customDataIterator;
1555
+ break;
1556
+ } else {
1557
+ tile._customDataIterator = undefined;
1558
+ tilesToUpdateHeights.shift();
1559
+ }
1560
+ }
1561
+ for (i = 0; i < tryNextFrame.length; i++) {
1562
+ tilesToUpdateHeights.push(tryNextFrame[i]);
1563
+ }
1564
+ }
1565
+
1566
+ function createRenderCommandsForSelectedTiles(primitive, frameState) {
1567
+ const tileProvider = primitive._tileProvider;
1568
+ const tilesToRender = primitive._tilesToRender;
1569
+
1570
+ for (let i = 0, len = tilesToRender.length; i < len; ++i) {
1571
+ const tile = tilesToRender[i];
1572
+ tileProvider.showTileThisFrame(tile, frameState);
1573
+ }
1574
+ }
1575
+ export default QuadtreePrimitive;