@hztxi/cesium-engine 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1964) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +640 -0
  2. package/Build/Workers/chunk-3GCPDH2L.js +102 -0
  3. package/Build/Workers/chunk-3MADNO4X.js +1067 -0
  4. package/Build/Workers/chunk-3TKLDHV3.js +58 -0
  5. package/Build/Workers/chunk-3WDC2GH6.js +2719 -0
  6. package/Build/Workers/chunk-4FNZCUUX.js +1483 -0
  7. package/Build/Workers/chunk-4MTRQFJP.js +56 -0
  8. package/Build/Workers/chunk-4VKEY67A.js +76 -0
  9. package/Build/Workers/chunk-5T6QQAJW.js +56 -0
  10. package/Build/Workers/chunk-6SDGQI27.js +38 -0
  11. package/Build/Workers/chunk-6ZAVOU5L.js +140 -0
  12. package/Build/Workers/chunk-74MSEXYZ.js +280 -0
  13. package/Build/Workers/chunk-77RL3MBD.js +257 -0
  14. package/Build/Workers/chunk-7P2BCMTU.js +198 -0
  15. package/Build/Workers/chunk-AT5SJZKV.js +305 -0
  16. package/Build/Workers/chunk-BBRRFEOV.js +455 -0
  17. package/Build/Workers/chunk-CZ23Y3RM.js +163 -0
  18. package/Build/Workers/chunk-DH26SNAB.js +78 -0
  19. package/Build/Workers/chunk-DH3HFR2Z.js +147 -0
  20. package/Build/Workers/chunk-DOB5JF3K.js +3620 -0
  21. package/Build/Workers/chunk-E7K6ZXWI.js +44 -0
  22. package/Build/Workers/chunk-ELW65VL5.js +1054 -0
  23. package/Build/Workers/chunk-EPD5RWBB.js +219 -0
  24. package/Build/Workers/chunk-F7BREJ3U.js +511 -0
  25. package/Build/Workers/chunk-FIBS5S7R.js +101 -0
  26. package/Build/Workers/chunk-GNBRTX2J.js +3201 -0
  27. package/Build/Workers/chunk-HZPEDSEN.js +837 -0
  28. package/Build/Workers/chunk-IEPZF2WW.js +97 -0
  29. package/Build/Workers/chunk-II6PFINF.js +57 -0
  30. package/Build/Workers/chunk-IKWMQ5ZJ.js +973 -0
  31. package/Build/Workers/chunk-J2Z2B25O.js +398 -0
  32. package/Build/Workers/chunk-JQ4R7MXV.js +2342 -0
  33. package/Build/Workers/chunk-JUGOIC4O.js +1344 -0
  34. package/Build/Workers/chunk-KM53XG2W.js +368 -0
  35. package/Build/Workers/chunk-KNXQKH2U.js +241 -0
  36. package/Build/Workers/chunk-KSMUF4SU.js +1992 -0
  37. package/Build/Workers/chunk-LCDVE7JA.js +682 -0
  38. package/Build/Workers/chunk-LOG5WXZZ.js +1287 -0
  39. package/Build/Workers/chunk-LYKEGFGX.js +124 -0
  40. package/Build/Workers/chunk-M2SRRLKR.js +476 -0
  41. package/Build/Workers/chunk-NIJIKHQM.js +9230 -0
  42. package/Build/Workers/chunk-NW4WWAAK.js +1800 -0
  43. package/Build/Workers/chunk-OCYIF7R3.js +352 -0
  44. package/Build/Workers/chunk-OZTLGNLF.js +387 -0
  45. package/Build/Workers/chunk-P3FP7NAM.js +288 -0
  46. package/Build/Workers/chunk-P5SWEPTI.js +352 -0
  47. package/Build/Workers/chunk-P7VT7DMK.js +454 -0
  48. package/Build/Workers/chunk-PFK34PVF.js +778 -0
  49. package/Build/Workers/chunk-PTESVNMD.js +138 -0
  50. package/Build/Workers/chunk-QS6E23AK.js +693 -0
  51. package/Build/Workers/chunk-SGKTPOWQ.js +171 -0
  52. package/Build/Workers/chunk-SPEMUYE5.js +162 -0
  53. package/Build/Workers/chunk-TA777BGS.js +630 -0
  54. package/Build/Workers/chunk-TCNXYZB6.js +414 -0
  55. package/Build/Workers/chunk-V4D7RZ2P.js +73 -0
  56. package/Build/Workers/chunk-VABCG4VA.js +959 -0
  57. package/Build/Workers/chunk-VCJD4URC.js +754 -0
  58. package/Build/Workers/chunk-WMMER2ET.js +497 -0
  59. package/Build/Workers/chunk-XKFRI4DD.js +301 -0
  60. package/Build/Workers/combineGeometry.js +66 -0
  61. package/Build/Workers/createBoxGeometry.js +58 -0
  62. package/Build/Workers/createBoxOutlineGeometry.js +231 -0
  63. package/Build/Workers/createCircleGeometry.js +201 -0
  64. package/Build/Workers/createCircleOutlineGeometry.js +147 -0
  65. package/Build/Workers/createCoplanarPolygonGeometry.js +505 -0
  66. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +225 -0
  67. package/Build/Workers/createCorridorGeometry.js +1258 -0
  68. package/Build/Workers/createCorridorOutlineGeometry.js +563 -0
  69. package/Build/Workers/createCylinderGeometry.js +60 -0
  70. package/Build/Workers/createCylinderOutlineGeometry.js +231 -0
  71. package/Build/Workers/createEllipseGeometry.js +72 -0
  72. package/Build/Workers/createEllipseOutlineGeometry.js +65 -0
  73. package/Build/Workers/createEllipsoidGeometry.js +59 -0
  74. package/Build/Workers/createEllipsoidOutlineGeometry.js +61 -0
  75. package/Build/Workers/createFrustumGeometry.js +58 -0
  76. package/Build/Workers/createFrustumOutlineGeometry.js +234 -0
  77. package/Build/Workers/createGeometry.js +173 -0
  78. package/Build/Workers/createGroundPolylineGeometry.js +1680 -0
  79. package/Build/Workers/createPlaneGeometry.js +223 -0
  80. package/Build/Workers/createPlaneOutlineGeometry.js +124 -0
  81. package/Build/Workers/createPolygonGeometry.js +1404 -0
  82. package/Build/Workers/createPolygonOutlineGeometry.js +532 -0
  83. package/Build/Workers/createPolylineGeometry.js +491 -0
  84. package/Build/Workers/createPolylineVolumeGeometry.js +374 -0
  85. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +272 -0
  86. package/Build/Workers/createRectangleGeometry.js +1264 -0
  87. package/Build/Workers/createRectangleOutlineGeometry.js +476 -0
  88. package/Build/Workers/createSimplePolylineGeometry.js +397 -0
  89. package/Build/Workers/createSphereGeometry.js +116 -0
  90. package/Build/Workers/createSphereOutlineGeometry.js +116 -0
  91. package/Build/Workers/createTaskProcessorWorker.js +32 -0
  92. package/Build/Workers/createVectorTileClampedPolylines.js +492 -0
  93. package/Build/Workers/createVectorTileGeometries.js +387 -0
  94. package/Build/Workers/createVectorTilePoints.js +114 -0
  95. package/Build/Workers/createVectorTilePolygons.js +386 -0
  96. package/Build/Workers/createVectorTilePolylines.js +262 -0
  97. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +92 -0
  98. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +566 -0
  99. package/Build/Workers/createVerticesFromHeightmap.js +2256 -0
  100. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +500 -0
  101. package/Build/Workers/createWallGeometry.js +487 -0
  102. package/Build/Workers/createWallOutlineGeometry.js +335 -0
  103. package/Build/Workers/decodeDraco.js +369 -0
  104. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +2666 -0
  105. package/Build/Workers/decodeI3S.js +1339 -0
  106. package/Build/Workers/gaussianSplatSorter.js +62 -0
  107. package/Build/Workers/gaussianSplatTextureGenerator.js +68 -0
  108. package/Build/Workers/incrementallyBuildTerrainPicker.js +129 -0
  109. package/Build/Workers/transcodeKTX2.js +3466 -0
  110. package/Build/Workers/transferTypedArrayTest.js +41 -0
  111. package/Build/Workers/upsampleQuantizedTerrainMesh.js +821 -0
  112. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +96 -0
  113. package/LICENSE.md +928 -0
  114. package/README.md +76 -0
  115. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
  116. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
  117. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
  118. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
  119. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
  120. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
  121. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
  122. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
  123. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
  124. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
  125. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
  126. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
  127. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
  128. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
  129. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
  130. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
  131. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
  132. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
  133. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
  134. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
  135. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
  136. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
  137. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
  138. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
  139. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
  140. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
  141. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
  142. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
  143. package/Source/Assets/Images/bing_maps_credit.png +0 -0
  144. package/Source/Assets/Images/cesium_credit.png +0 -0
  145. package/Source/Assets/Images/google_earth_credit.png +0 -0
  146. package/Source/Assets/Images/ion-credit.png +0 -0
  147. package/Source/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
  148. package/Source/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
  149. package/Source/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
  150. package/Source/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
  151. package/Source/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
  152. package/Source/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
  153. package/Source/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
  154. package/Source/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
  155. package/Source/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
  156. package/Source/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
  157. package/Source/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
  158. package/Source/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
  159. package/Source/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
  160. package/Source/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
  161. package/Source/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
  162. package/Source/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
  163. package/Source/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
  164. package/Source/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
  165. package/Source/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
  166. package/Source/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
  167. package/Source/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
  168. package/Source/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
  169. package/Source/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
  170. package/Source/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
  171. package/Source/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
  172. package/Source/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
  173. package/Source/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
  174. package/Source/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
  175. package/Source/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
  176. package/Source/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
  177. package/Source/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
  178. package/Source/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
  179. package/Source/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
  180. package/Source/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
  181. package/Source/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
  182. package/Source/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
  183. package/Source/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
  184. package/Source/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
  185. package/Source/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
  186. package/Source/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
  187. package/Source/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
  188. package/Source/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
  189. package/Source/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
  190. package/Source/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
  191. package/Source/Assets/Textures/NaturalEarthII/tilemapresource.xml +14 -0
  192. package/Source/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
  193. package/Source/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
  194. package/Source/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
  195. package/Source/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
  196. package/Source/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
  197. package/Source/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
  198. package/Source/Assets/Textures/maki/airfield.png +0 -0
  199. package/Source/Assets/Textures/maki/airport.png +0 -0
  200. package/Source/Assets/Textures/maki/alcohol-shop.png +0 -0
  201. package/Source/Assets/Textures/maki/america-football.png +0 -0
  202. package/Source/Assets/Textures/maki/art-gallery.png +0 -0
  203. package/Source/Assets/Textures/maki/bakery.png +0 -0
  204. package/Source/Assets/Textures/maki/bank.png +0 -0
  205. package/Source/Assets/Textures/maki/bar.png +0 -0
  206. package/Source/Assets/Textures/maki/baseball.png +0 -0
  207. package/Source/Assets/Textures/maki/basketball.png +0 -0
  208. package/Source/Assets/Textures/maki/beer.png +0 -0
  209. package/Source/Assets/Textures/maki/bicycle.png +0 -0
  210. package/Source/Assets/Textures/maki/building.png +0 -0
  211. package/Source/Assets/Textures/maki/bus.png +0 -0
  212. package/Source/Assets/Textures/maki/cafe.png +0 -0
  213. package/Source/Assets/Textures/maki/camera.png +0 -0
  214. package/Source/Assets/Textures/maki/campsite.png +0 -0
  215. package/Source/Assets/Textures/maki/car.png +0 -0
  216. package/Source/Assets/Textures/maki/cemetery.png +0 -0
  217. package/Source/Assets/Textures/maki/cesium.png +0 -0
  218. package/Source/Assets/Textures/maki/chemist.png +0 -0
  219. package/Source/Assets/Textures/maki/cinema.png +0 -0
  220. package/Source/Assets/Textures/maki/circle-stroked.png +0 -0
  221. package/Source/Assets/Textures/maki/circle.png +0 -0
  222. package/Source/Assets/Textures/maki/city.png +0 -0
  223. package/Source/Assets/Textures/maki/clothing-store.png +0 -0
  224. package/Source/Assets/Textures/maki/college.png +0 -0
  225. package/Source/Assets/Textures/maki/commercial.png +0 -0
  226. package/Source/Assets/Textures/maki/cricket.png +0 -0
  227. package/Source/Assets/Textures/maki/cross.png +0 -0
  228. package/Source/Assets/Textures/maki/dam.png +0 -0
  229. package/Source/Assets/Textures/maki/danger.png +0 -0
  230. package/Source/Assets/Textures/maki/disability.png +0 -0
  231. package/Source/Assets/Textures/maki/dog-park.png +0 -0
  232. package/Source/Assets/Textures/maki/embassy.png +0 -0
  233. package/Source/Assets/Textures/maki/emergency-telephone.png +0 -0
  234. package/Source/Assets/Textures/maki/entrance.png +0 -0
  235. package/Source/Assets/Textures/maki/farm.png +0 -0
  236. package/Source/Assets/Textures/maki/fast-food.png +0 -0
  237. package/Source/Assets/Textures/maki/ferry.png +0 -0
  238. package/Source/Assets/Textures/maki/fire-station.png +0 -0
  239. package/Source/Assets/Textures/maki/fuel.png +0 -0
  240. package/Source/Assets/Textures/maki/garden.png +0 -0
  241. package/Source/Assets/Textures/maki/gift.png +0 -0
  242. package/Source/Assets/Textures/maki/golf.png +0 -0
  243. package/Source/Assets/Textures/maki/grocery.png +0 -0
  244. package/Source/Assets/Textures/maki/hairdresser.png +0 -0
  245. package/Source/Assets/Textures/maki/harbor.png +0 -0
  246. package/Source/Assets/Textures/maki/heart.png +0 -0
  247. package/Source/Assets/Textures/maki/heliport.png +0 -0
  248. package/Source/Assets/Textures/maki/hospital.png +0 -0
  249. package/Source/Assets/Textures/maki/ice-cream.png +0 -0
  250. package/Source/Assets/Textures/maki/industrial.png +0 -0
  251. package/Source/Assets/Textures/maki/land-use.png +0 -0
  252. package/Source/Assets/Textures/maki/laundry.png +0 -0
  253. package/Source/Assets/Textures/maki/library.png +0 -0
  254. package/Source/Assets/Textures/maki/lighthouse.png +0 -0
  255. package/Source/Assets/Textures/maki/lodging.png +0 -0
  256. package/Source/Assets/Textures/maki/logging.png +0 -0
  257. package/Source/Assets/Textures/maki/london-underground.png +0 -0
  258. package/Source/Assets/Textures/maki/marker-stroked.png +0 -0
  259. package/Source/Assets/Textures/maki/marker.png +0 -0
  260. package/Source/Assets/Textures/maki/minefield.png +0 -0
  261. package/Source/Assets/Textures/maki/mobilephone.png +0 -0
  262. package/Source/Assets/Textures/maki/monument.png +0 -0
  263. package/Source/Assets/Textures/maki/museum.png +0 -0
  264. package/Source/Assets/Textures/maki/music.png +0 -0
  265. package/Source/Assets/Textures/maki/oil-well.png +0 -0
  266. package/Source/Assets/Textures/maki/park.png +0 -0
  267. package/Source/Assets/Textures/maki/park2.png +0 -0
  268. package/Source/Assets/Textures/maki/parking-garage.png +0 -0
  269. package/Source/Assets/Textures/maki/parking.png +0 -0
  270. package/Source/Assets/Textures/maki/pharmacy.png +0 -0
  271. package/Source/Assets/Textures/maki/pitch.png +0 -0
  272. package/Source/Assets/Textures/maki/place-of-worship.png +0 -0
  273. package/Source/Assets/Textures/maki/playground.png +0 -0
  274. package/Source/Assets/Textures/maki/police.png +0 -0
  275. package/Source/Assets/Textures/maki/polling-place.png +0 -0
  276. package/Source/Assets/Textures/maki/post.png +0 -0
  277. package/Source/Assets/Textures/maki/prison.png +0 -0
  278. package/Source/Assets/Textures/maki/rail-above.png +0 -0
  279. package/Source/Assets/Textures/maki/rail-light.png +0 -0
  280. package/Source/Assets/Textures/maki/rail-metro.png +0 -0
  281. package/Source/Assets/Textures/maki/rail-underground.png +0 -0
  282. package/Source/Assets/Textures/maki/rail.png +0 -0
  283. package/Source/Assets/Textures/maki/religious-christian.png +0 -0
  284. package/Source/Assets/Textures/maki/religious-jewish.png +0 -0
  285. package/Source/Assets/Textures/maki/religious-muslim.png +0 -0
  286. package/Source/Assets/Textures/maki/restaurant.png +0 -0
  287. package/Source/Assets/Textures/maki/roadblock.png +0 -0
  288. package/Source/Assets/Textures/maki/rocket.png +0 -0
  289. package/Source/Assets/Textures/maki/school.png +0 -0
  290. package/Source/Assets/Textures/maki/scooter.png +0 -0
  291. package/Source/Assets/Textures/maki/shop.png +0 -0
  292. package/Source/Assets/Textures/maki/skiing.png +0 -0
  293. package/Source/Assets/Textures/maki/slaughterhouse.png +0 -0
  294. package/Source/Assets/Textures/maki/soccer.png +0 -0
  295. package/Source/Assets/Textures/maki/square-stroked.png +0 -0
  296. package/Source/Assets/Textures/maki/square.png +0 -0
  297. package/Source/Assets/Textures/maki/star-stroked.png +0 -0
  298. package/Source/Assets/Textures/maki/star.png +0 -0
  299. package/Source/Assets/Textures/maki/suitcase.png +0 -0
  300. package/Source/Assets/Textures/maki/swimming.png +0 -0
  301. package/Source/Assets/Textures/maki/telephone.png +0 -0
  302. package/Source/Assets/Textures/maki/tennis.png +0 -0
  303. package/Source/Assets/Textures/maki/theatre.png +0 -0
  304. package/Source/Assets/Textures/maki/toilets.png +0 -0
  305. package/Source/Assets/Textures/maki/town-hall.png +0 -0
  306. package/Source/Assets/Textures/maki/town.png +0 -0
  307. package/Source/Assets/Textures/maki/triangle-stroked.png +0 -0
  308. package/Source/Assets/Textures/maki/triangle.png +0 -0
  309. package/Source/Assets/Textures/maki/village.png +0 -0
  310. package/Source/Assets/Textures/maki/warehouse.png +0 -0
  311. package/Source/Assets/Textures/maki/waste-basket.png +0 -0
  312. package/Source/Assets/Textures/maki/water.png +0 -0
  313. package/Source/Assets/Textures/maki/wetland.png +0 -0
  314. package/Source/Assets/Textures/maki/zoo.png +0 -0
  315. package/Source/Assets/Textures/moonSmall.jpg +0 -0
  316. package/Source/Assets/Textures/pin.svg +1 -0
  317. package/Source/Assets/Textures/waterNormals.jpg +0 -0
  318. package/Source/Assets/Textures/waterNormalsSmall.jpg +0 -0
  319. package/Source/Assets/approximateTerrainHeights.json +1 -0
  320. package/Source/Core/ApproximateTerrainHeights.js +255 -0
  321. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +755 -0
  322. package/Source/Core/ArcType.js +36 -0
  323. package/Source/Core/ArticulationStageType.js +27 -0
  324. package/Source/Core/AssociativeArray.js +133 -0
  325. package/Source/Core/AttributeCompression.js +574 -0
  326. package/Source/Core/AxisAlignedBoundingBox.js +294 -0
  327. package/Source/Core/BingMapsGeocoderService.js +127 -0
  328. package/Source/Core/BoundingRectangle.js +374 -0
  329. package/Source/Core/BoundingSphere.js +1502 -0
  330. package/Source/Core/BoxGeometry.js +893 -0
  331. package/Source/Core/BoxOutlineGeometry.js +312 -0
  332. package/Source/Core/Cartesian2.js +830 -0
  333. package/Source/Core/Cartesian3.js +1222 -0
  334. package/Source/Core/Cartesian4.js +984 -0
  335. package/Source/Core/Cartographic.js +312 -0
  336. package/Source/Core/CartographicGeocoderService.js +73 -0
  337. package/Source/Core/CatmullRomSpline.js +324 -0
  338. package/Source/Core/Cesium3DTilesTerrainData.js +932 -0
  339. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +1868 -0
  340. package/Source/Core/Cesium3DTilesTerrainProvider.js +1052 -0
  341. package/Source/Core/CesiumTerrainProvider.js +1408 -0
  342. package/Source/Core/Check.d.ts +131 -0
  343. package/Source/Core/Check.js +212 -0
  344. package/Source/Core/CircleGeometry.js +207 -0
  345. package/Source/Core/CircleOutlineGeometry.js +149 -0
  346. package/Source/Core/Clock.js +316 -0
  347. package/Source/Core/ClockRange.js +44 -0
  348. package/Source/Core/ClockStep.js +43 -0
  349. package/Source/Core/Color.js +2294 -0
  350. package/Source/Core/ColorGeometryInstanceAttribute.js +181 -0
  351. package/Source/Core/ComponentDatatype.js +341 -0
  352. package/Source/Core/CompressedTextureBuffer.js +125 -0
  353. package/Source/Core/ConstantSpline.js +119 -0
  354. package/Source/Core/CoplanarPolygonGeometry.js +600 -0
  355. package/Source/Core/CoplanarPolygonGeometryLibrary.js +132 -0
  356. package/Source/Core/CoplanarPolygonOutlineGeometry.js +237 -0
  357. package/Source/Core/CornerType.js +42 -0
  358. package/Source/Core/CorridorGeometry.js +1411 -0
  359. package/Source/Core/CorridorGeometryLibrary.js +501 -0
  360. package/Source/Core/CorridorOutlineGeometry.js +599 -0
  361. package/Source/Core/Credit.js +169 -0
  362. package/Source/Core/CubicRealPolynomial.js +238 -0
  363. package/Source/Core/CullingVolume.js +216 -0
  364. package/Source/Core/CustomHeightmapTerrainProvider.js +287 -0
  365. package/Source/Core/CylinderGeometry.js +479 -0
  366. package/Source/Core/CylinderGeometryLibrary.js +59 -0
  367. package/Source/Core/CylinderOutlineGeometry.js +269 -0
  368. package/Source/Core/DefaultProxy.js +26 -0
  369. package/Source/Core/DeveloperError.js +76 -0
  370. package/Source/Core/DistanceDisplayCondition.js +171 -0
  371. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +179 -0
  372. package/Source/Core/DoubleEndedPriorityQueue.js +405 -0
  373. package/Source/Core/DoublyLinkedList.js +112 -0
  374. package/Source/Core/EarthOrientationParameters.js +431 -0
  375. package/Source/Core/EarthOrientationParametersSample.js +52 -0
  376. package/Source/Core/EasingFunction.js +257 -0
  377. package/Source/Core/EllipseGeometry.js +1318 -0
  378. package/Source/Core/EllipseGeometryLibrary.js +365 -0
  379. package/Source/Core/EllipseOutlineGeometry.js +451 -0
  380. package/Source/Core/Ellipsoid.js +866 -0
  381. package/Source/Core/EllipsoidGeodesic.js +523 -0
  382. package/Source/Core/EllipsoidGeometry.js +650 -0
  383. package/Source/Core/EllipsoidOutlineGeometry.js +464 -0
  384. package/Source/Core/EllipsoidRhumbLine.js +751 -0
  385. package/Source/Core/EllipsoidTangentPlane.js +382 -0
  386. package/Source/Core/EllipsoidTerrainProvider.js +201 -0
  387. package/Source/Core/EllipsoidalOccluder.js +538 -0
  388. package/Source/Core/EncodedCartesian3.js +170 -0
  389. package/Source/Core/Event.js +205 -0
  390. package/Source/Core/EventHelper.js +74 -0
  391. package/Source/Core/ExtrapolationType.js +39 -0
  392. package/Source/Core/FeatureDetection.js +404 -0
  393. package/Source/Core/Frozen.js +24 -0
  394. package/Source/Core/FrustumGeometry.js +583 -0
  395. package/Source/Core/FrustumOutlineGeometry.js +253 -0
  396. package/Source/Core/Fullscreen.js +249 -0
  397. package/Source/Core/GeocodeType.js +29 -0
  398. package/Source/Core/GeocoderService.js +60 -0
  399. package/Source/Core/GeographicProjection.js +105 -0
  400. package/Source/Core/GeographicTilingScheme.js +226 -0
  401. package/Source/Core/Geometry.js +371 -0
  402. package/Source/Core/GeometryAttribute.js +133 -0
  403. package/Source/Core/GeometryAttributes.js +88 -0
  404. package/Source/Core/GeometryFactory.js +25 -0
  405. package/Source/Core/GeometryInstance.js +118 -0
  406. package/Source/Core/GeometryInstanceAttribute.js +133 -0
  407. package/Source/Core/GeometryOffsetAttribute.js +16 -0
  408. package/Source/Core/GeometryPipeline.js +3291 -0
  409. package/Source/Core/GeometryType.js +16 -0
  410. package/Source/Core/GoogleEarthEnterpriseMetadata.js +584 -0
  411. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +606 -0
  412. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +574 -0
  413. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +136 -0
  414. package/Source/Core/GoogleGeocoderService.js +110 -0
  415. package/Source/Core/GoogleMaps.js +61 -0
  416. package/Source/Core/GregorianDate.js +153 -0
  417. package/Source/Core/GroundPolylineGeometry.js +1693 -0
  418. package/Source/Core/HeadingPitchRange.js +59 -0
  419. package/Source/Core/HeadingPitchRoll.js +235 -0
  420. package/Source/Core/Heap.js +233 -0
  421. package/Source/Core/HeightmapEncoding.js +30 -0
  422. package/Source/Core/HeightmapTerrainData.js +903 -0
  423. package/Source/Core/HeightmapTessellator.js +518 -0
  424. package/Source/Core/HermitePolynomialApproximation.js +341 -0
  425. package/Source/Core/HermiteSpline.js +620 -0
  426. package/Source/Core/HilbertOrder.js +112 -0
  427. package/Source/Core/ITwinPlatform.js +389 -0
  428. package/Source/Core/Iau2000Orientation.js +167 -0
  429. package/Source/Core/Iau2006XysData.js +286 -0
  430. package/Source/Core/Iau2006XysSample.js +32 -0
  431. package/Source/Core/IauOrientationAxes.js +105 -0
  432. package/Source/Core/IauOrientationParameters.js +54 -0
  433. package/Source/Core/IndexDatatype.js +201 -0
  434. package/Source/Core/InterpolationAlgorithm.js +65 -0
  435. package/Source/Core/InterpolationType.js +18 -0
  436. package/Source/Core/Intersect.js +39 -0
  437. package/Source/Core/IntersectionTests.js +1087 -0
  438. package/Source/Core/Intersections2D.js +358 -0
  439. package/Source/Core/Interval.js +23 -0
  440. package/Source/Core/Ion.js +56 -0
  441. package/Source/Core/IonGeocodeProviderType.js +37 -0
  442. package/Source/Core/IonGeocoderService.js +147 -0
  443. package/Source/Core/IonResource.js +321 -0
  444. package/Source/Core/Iso8601.js +54 -0
  445. package/Source/Core/JulianDate.js +1231 -0
  446. package/Source/Core/KTX2Transcoder.js +92 -0
  447. package/Source/Core/KeyboardEventModifier.js +37 -0
  448. package/Source/Core/LagrangePolynomialApproximation.js +71 -0
  449. package/Source/Core/LeapSecond.js +24 -0
  450. package/Source/Core/LinearApproximation.js +83 -0
  451. package/Source/Core/LinearSpline.js +166 -0
  452. package/Source/Core/ManagedArray.js +162 -0
  453. package/Source/Core/MapProjection.js +57 -0
  454. package/Source/Core/Math.js +1125 -0
  455. package/Source/Core/Matrix2.js +1105 -0
  456. package/Source/Core/Matrix3.js +1906 -0
  457. package/Source/Core/Matrix4.js +3264 -0
  458. package/Source/Core/MorphWeightSpline.js +161 -0
  459. package/Source/Core/MortonOrder.js +214 -0
  460. package/Source/Core/NearFarScalar.js +173 -0
  461. package/Source/Core/Occluder.js +727 -0
  462. package/Source/Core/OffsetGeometryInstanceAttribute.js +125 -0
  463. package/Source/Core/OpenCageGeocoderService.js +133 -0
  464. package/Source/Core/OrientedBoundingBox.js +1272 -0
  465. package/Source/Core/OrthographicFrustum.js +351 -0
  466. package/Source/Core/OrthographicOffCenterFrustum.js +463 -0
  467. package/Source/Core/Packable.js +40 -0
  468. package/Source/Core/PackableForInterpolation.js +43 -0
  469. package/Source/Core/PeliasGeocoderService.js +106 -0
  470. package/Source/Core/PerspectiveFrustum.js +459 -0
  471. package/Source/Core/PerspectiveOffCenterFrustum.js +522 -0
  472. package/Source/Core/PinBuilder.js +234 -0
  473. package/Source/Core/PixelFormat.js +605 -0
  474. package/Source/Core/Plane.js +312 -0
  475. package/Source/Core/PlaneGeometry.js +250 -0
  476. package/Source/Core/PlaneOutlineGeometry.js +113 -0
  477. package/Source/Core/PolygonGeometry.js +1580 -0
  478. package/Source/Core/PolygonGeometryLibrary.js +1301 -0
  479. package/Source/Core/PolygonHierarchy.js +25 -0
  480. package/Source/Core/PolygonOutlineGeometry.js +687 -0
  481. package/Source/Core/PolygonPipeline.js +632 -0
  482. package/Source/Core/PolylineGeometry.js +573 -0
  483. package/Source/Core/PolylinePipeline.js +573 -0
  484. package/Source/Core/PolylineVolumeGeometry.js +412 -0
  485. package/Source/Core/PolylineVolumeGeometryLibrary.js +701 -0
  486. package/Source/Core/PolylineVolumeOutlineGeometry.js +294 -0
  487. package/Source/Core/PrimitiveType.js +117 -0
  488. package/Source/Core/Proxy.js +24 -0
  489. package/Source/Core/QuadraticRealPolynomial.js +147 -0
  490. package/Source/Core/QuantizedMeshTerrainData.js +735 -0
  491. package/Source/Core/QuarticRealPolynomial.js +342 -0
  492. package/Source/Core/Quaternion.js +1145 -0
  493. package/Source/Core/QuaternionSpline.js +155 -0
  494. package/Source/Core/Queue.js +126 -0
  495. package/Source/Core/Ray.js +81 -0
  496. package/Source/Core/Rectangle.js +1080 -0
  497. package/Source/Core/RectangleCollisionChecker.js +95 -0
  498. package/Source/Core/RectangleGeometry.js +1480 -0
  499. package/Source/Core/RectangleGeometryLibrary.js +286 -0
  500. package/Source/Core/RectangleOutlineGeometry.js +532 -0
  501. package/Source/Core/ReferenceFrame.js +28 -0
  502. package/Source/Core/Request.js +193 -0
  503. package/Source/Core/RequestErrorEvent.js +58 -0
  504. package/Source/Core/RequestScheduler.js +524 -0
  505. package/Source/Core/RequestState.js +60 -0
  506. package/Source/Core/RequestType.js +44 -0
  507. package/Source/Core/Resource.js +2280 -0
  508. package/Source/Core/RuntimeError.js +65 -0
  509. package/Source/Core/S2Cell.js +734 -0
  510. package/Source/Core/ScreenSpaceEventHandler.js +1136 -0
  511. package/Source/Core/ScreenSpaceEventType.js +132 -0
  512. package/Source/Core/ShowGeometryInstanceAttribute.js +122 -0
  513. package/Source/Core/Simon1994PlanetaryPositions.js +684 -0
  514. package/Source/Core/SimplePolylineGeometry.js +454 -0
  515. package/Source/Core/SphereGeometry.js +117 -0
  516. package/Source/Core/SphereOutlineGeometry.js +119 -0
  517. package/Source/Core/Spherical.js +183 -0
  518. package/Source/Core/Spline.js +188 -0
  519. package/Source/Core/SteppedSpline.js +160 -0
  520. package/Source/Core/Stereographic.js +247 -0
  521. package/Source/Core/TaskProcessor.js +403 -0
  522. package/Source/Core/TerrainData.js +126 -0
  523. package/Source/Core/TerrainEncoding.js +772 -0
  524. package/Source/Core/TerrainMesh.js +373 -0
  525. package/Source/Core/TerrainPicker.js +625 -0
  526. package/Source/Core/TerrainProvider.js +585 -0
  527. package/Source/Core/TerrainQuantization.js +30 -0
  528. package/Source/Core/TexturePacker.js +181 -0
  529. package/Source/Core/TileAvailability.js +564 -0
  530. package/Source/Core/TileEdge.js +14 -0
  531. package/Source/Core/TileProviderError.js +170 -0
  532. package/Source/Core/TilingScheme.js +134 -0
  533. package/Source/Core/TimeConstants.js +88 -0
  534. package/Source/Core/TimeInterval.js +438 -0
  535. package/Source/Core/TimeIntervalCollection.js +1137 -0
  536. package/Source/Core/TimeStandard.js +35 -0
  537. package/Source/Core/Tipsify.js +314 -0
  538. package/Source/Core/TrackingReferenceFrame.js +50 -0
  539. package/Source/Core/Transforms.js +1277 -0
  540. package/Source/Core/TranslationRotationScale.js +57 -0
  541. package/Source/Core/TridiagonalSystemSolver.js +113 -0
  542. package/Source/Core/TrustedServers.js +146 -0
  543. package/Source/Core/VRTheWorldTerrainProvider.js +462 -0
  544. package/Source/Core/VertexFormat.js +311 -0
  545. package/Source/Core/VerticalExaggeration.js +70 -0
  546. package/Source/Core/VideoSynchronizer.js +222 -0
  547. package/Source/Core/Visibility.js +39 -0
  548. package/Source/Core/VulkanConstants.js +291 -0
  549. package/Source/Core/WallGeometry.js +623 -0
  550. package/Source/Core/WallGeometryLibrary.js +212 -0
  551. package/Source/Core/WallOutlineGeometry.js +431 -0
  552. package/Source/Core/WebGLConstants.js +619 -0
  553. package/Source/Core/WebMercatorProjection.js +151 -0
  554. package/Source/Core/WebMercatorTilingScheme.js +295 -0
  555. package/Source/Core/WindingOrder.js +38 -0
  556. package/Source/Core/WireframeIndexGenerator.js +238 -0
  557. package/Source/Core/addAllToArray.js +40 -0
  558. package/Source/Core/appendForwardSlash.js +10 -0
  559. package/Source/Core/arrayRemoveDuplicates.js +129 -0
  560. package/Source/Core/assert.js +27 -0
  561. package/Source/Core/barycentricCoordinates.js +109 -0
  562. package/Source/Core/binarySearch.js +67 -0
  563. package/Source/Core/buildModuleUrl.js +153 -0
  564. package/Source/Core/clone.js +30 -0
  565. package/Source/Core/combine.js +79 -0
  566. package/Source/Core/createGuid.js +22 -0
  567. package/Source/Core/createWorldBathymetryAsync.js +45 -0
  568. package/Source/Core/createWorldTerrainAsync.js +50 -0
  569. package/Source/Core/decodeGoogleEarthEnterpriseData.js +93 -0
  570. package/Source/Core/decodeVectorPolylinePositions.js +51 -0
  571. package/Source/Core/defer.js +44 -0
  572. package/Source/Core/defined.d.ts +11 -0
  573. package/Source/Core/defined.js +17 -0
  574. package/Source/Core/deprecationWarning.js +53 -0
  575. package/Source/Core/destroyObject.js +53 -0
  576. package/Source/Core/formatError.js +30 -0
  577. package/Source/Core/getAbsoluteUri.js +46 -0
  578. package/Source/Core/getBaseUri.js +47 -0
  579. package/Source/Core/getExtensionFromUri.js +38 -0
  580. package/Source/Core/getFilenameFromUri.js +32 -0
  581. package/Source/Core/getImageFromTypedArray.js +24 -0
  582. package/Source/Core/getImagePixels.js +44 -0
  583. package/Source/Core/getJsonFromTypedArray.js +21 -0
  584. package/Source/Core/getMagic.js +14 -0
  585. package/Source/Core/getStringFromTypedArray.js +165 -0
  586. package/Source/Core/getTimestamp.js +26 -0
  587. package/Source/Core/globalTypes.js +20 -0
  588. package/Source/Core/isBitSet.js +7 -0
  589. package/Source/Core/isBlobUri.js +22 -0
  590. package/Source/Core/isCrossOriginUrl.js +30 -0
  591. package/Source/Core/isDataUri.js +22 -0
  592. package/Source/Core/isLeapYear.js +23 -0
  593. package/Source/Core/loadAndExecuteScript.js +27 -0
  594. package/Source/Core/loadImageFromTypedArray.js +66 -0
  595. package/Source/Core/loadKTX2.js +104 -0
  596. package/Source/Core/mergeSort.js +111 -0
  597. package/Source/Core/objectToQuery.js +57 -0
  598. package/Source/Core/oneTimeWarning.js +51 -0
  599. package/Source/Core/parseResponseHeaders.js +37 -0
  600. package/Source/Core/pointInsideTriangle.js +39 -0
  601. package/Source/Core/queryToObject.js +60 -0
  602. package/Source/Core/resizeImageToNextPowerOfTwo.js +31 -0
  603. package/Source/Core/sampleTerrain.js +291 -0
  604. package/Source/Core/sampleTerrainMostDetailed.js +132 -0
  605. package/Source/Core/scaleToGeodeticSurface.js +147 -0
  606. package/Source/Core/srgbToLinear.js +32 -0
  607. package/Source/Core/subdivideArray.js +35 -0
  608. package/Source/Core/webGLConstantToGlslType.js +25 -0
  609. package/Source/Core/wrapFunction.js +26 -0
  610. package/Source/Core/writeTextToCanvas.js +173 -0
  611. package/Source/DataSources/BillboardGraphics.js +419 -0
  612. package/Source/DataSources/BillboardVisualizer.js +351 -0
  613. package/Source/DataSources/BoundingSphereState.js +26 -0
  614. package/Source/DataSources/BoxGeometryUpdater.js +326 -0
  615. package/Source/DataSources/BoxGraphics.js +208 -0
  616. package/Source/DataSources/CallbackPositionProperty.js +172 -0
  617. package/Source/DataSources/CallbackProperty.js +117 -0
  618. package/Source/DataSources/Cesium3DTilesetGraphics.js +111 -0
  619. package/Source/DataSources/Cesium3DTilesetVisualizer.js +261 -0
  620. package/Source/DataSources/CheckerboardMaterialProperty.js +157 -0
  621. package/Source/DataSources/ColorMaterialProperty.js +112 -0
  622. package/Source/DataSources/CompositeEntityCollection.js +591 -0
  623. package/Source/DataSources/CompositeMaterialProperty.js +128 -0
  624. package/Source/DataSources/CompositePositionProperty.js +153 -0
  625. package/Source/DataSources/CompositeProperty.js +154 -0
  626. package/Source/DataSources/ConstantPositionProperty.js +151 -0
  627. package/Source/DataSources/ConstantProperty.js +116 -0
  628. package/Source/DataSources/CorridorGeometryUpdater.js +409 -0
  629. package/Source/DataSources/CorridorGraphics.js +316 -0
  630. package/Source/DataSources/CustomDataSource.js +173 -0
  631. package/Source/DataSources/CylinderGeometryUpdater.js +375 -0
  632. package/Source/DataSources/CylinderGraphics.js +258 -0
  633. package/Source/DataSources/CzmlDataSource.js +5151 -0
  634. package/Source/DataSources/DataSource.js +121 -0
  635. package/Source/DataSources/DataSourceClock.js +164 -0
  636. package/Source/DataSources/DataSourceCollection.js +335 -0
  637. package/Source/DataSources/DataSourceDisplay.js +543 -0
  638. package/Source/DataSources/DynamicGeometryBatch.js +56 -0
  639. package/Source/DataSources/DynamicGeometryUpdater.js +270 -0
  640. package/Source/DataSources/EllipseGeometryUpdater.js +434 -0
  641. package/Source/DataSources/EllipseGraphics.js +343 -0
  642. package/Source/DataSources/EllipsoidGeometryUpdater.js +710 -0
  643. package/Source/DataSources/EllipsoidGraphics.js +312 -0
  644. package/Source/DataSources/Entity.js +789 -0
  645. package/Source/DataSources/EntityCluster.js +1022 -0
  646. package/Source/DataSources/EntityCollection.js +439 -0
  647. package/Source/DataSources/EntityView.js +476 -0
  648. package/Source/DataSources/GeoJsonDataSource.js +1064 -0
  649. package/Source/DataSources/GeometryUpdater.js +538 -0
  650. package/Source/DataSources/GeometryUpdaterSet.js +114 -0
  651. package/Source/DataSources/GeometryVisualizer.js +549 -0
  652. package/Source/DataSources/GpxDataSource.js +1018 -0
  653. package/Source/DataSources/GridMaterialProperty.js +204 -0
  654. package/Source/DataSources/GroundGeometryUpdater.js +234 -0
  655. package/Source/DataSources/ImageMaterialProperty.js +173 -0
  656. package/Source/DataSources/KmlCamera.js +13 -0
  657. package/Source/DataSources/KmlDataSource.js +4249 -0
  658. package/Source/DataSources/KmlLookAt.js +12 -0
  659. package/Source/DataSources/KmlTour.js +165 -0
  660. package/Source/DataSources/KmlTourFlyTo.js +109 -0
  661. package/Source/DataSources/KmlTourWait.js +52 -0
  662. package/Source/DataSources/LabelGraphics.js +401 -0
  663. package/Source/DataSources/LabelVisualizer.js +359 -0
  664. package/Source/DataSources/MaterialProperty.js +111 -0
  665. package/Source/DataSources/ModelGraphics.js +456 -0
  666. package/Source/DataSources/ModelVisualizer.js +560 -0
  667. package/Source/DataSources/NodeTransformationProperty.js +150 -0
  668. package/Source/DataSources/PathGraphics.js +174 -0
  669. package/Source/DataSources/PathVisualizer.js +1135 -0
  670. package/Source/DataSources/PlaneGeometryUpdater.js +385 -0
  671. package/Source/DataSources/PlaneGraphics.js +208 -0
  672. package/Source/DataSources/PointGraphics.js +223 -0
  673. package/Source/DataSources/PointVisualizer.js +438 -0
  674. package/Source/DataSources/PolygonGeometryUpdater.js +591 -0
  675. package/Source/DataSources/PolygonGraphics.js +383 -0
  676. package/Source/DataSources/PolylineArrowMaterialProperty.js +110 -0
  677. package/Source/DataSources/PolylineDashMaterialProperty.js +174 -0
  678. package/Source/DataSources/PolylineGeometryUpdater.js +878 -0
  679. package/Source/DataSources/PolylineGlowMaterialProperty.js +152 -0
  680. package/Source/DataSources/PolylineGraphics.js +241 -0
  681. package/Source/DataSources/PolylineOutlineMaterialProperty.js +158 -0
  682. package/Source/DataSources/PolylineVisualizer.js +409 -0
  683. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +306 -0
  684. package/Source/DataSources/PolylineVolumeGraphics.js +235 -0
  685. package/Source/DataSources/PositionProperty.js +131 -0
  686. package/Source/DataSources/PositionPropertyArray.js +192 -0
  687. package/Source/DataSources/Property.js +137 -0
  688. package/Source/DataSources/PropertyArray.js +147 -0
  689. package/Source/DataSources/PropertyBag.js +275 -0
  690. package/Source/DataSources/RectangleGeometryUpdater.js +427 -0
  691. package/Source/DataSources/RectangleGraphics.js +317 -0
  692. package/Source/DataSources/ReferenceProperty.js +371 -0
  693. package/Source/DataSources/Rotation.js +155 -0
  694. package/Source/DataSources/SampledPositionProperty.js +330 -0
  695. package/Source/DataSources/SampledProperty.js +855 -0
  696. package/Source/DataSources/ScaledPositionProperty.js +103 -0
  697. package/Source/DataSources/StaticGeometryColorBatch.js +575 -0
  698. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +493 -0
  699. package/Source/DataSources/StaticGroundGeometryColorBatch.js +394 -0
  700. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +459 -0
  701. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +437 -0
  702. package/Source/DataSources/StaticOutlineGeometryBatch.js +465 -0
  703. package/Source/DataSources/StripeMaterialProperty.js +193 -0
  704. package/Source/DataSources/StripeOrientation.js +24 -0
  705. package/Source/DataSources/TerrainOffsetProperty.js +243 -0
  706. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +155 -0
  707. package/Source/DataSources/TimeIntervalCollectionProperty.js +136 -0
  708. package/Source/DataSources/VelocityOrientationProperty.js +158 -0
  709. package/Source/DataSources/VelocityVectorProperty.js +213 -0
  710. package/Source/DataSources/Visualizer.js +61 -0
  711. package/Source/DataSources/WallGeometryUpdater.js +275 -0
  712. package/Source/DataSources/WallGraphics.js +236 -0
  713. package/Source/DataSources/createMaterialPropertyDescriptor.js +35 -0
  714. package/Source/DataSources/createPropertyDescriptor.js +71 -0
  715. package/Source/DataSources/createRawPropertyDescriptor.js +13 -0
  716. package/Source/DataSources/exportKml.js +1517 -0
  717. package/Source/DataSources/getElement.js +26 -0
  718. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +47 -0
  719. package/Source/Renderer/AutomaticUniforms.js +1857 -0
  720. package/Source/Renderer/Buffer.js +452 -0
  721. package/Source/Renderer/BufferUsage.js +32 -0
  722. package/Source/Renderer/ClearCommand.js +102 -0
  723. package/Source/Renderer/ComputeCommand.js +119 -0
  724. package/Source/Renderer/ComputeEngine.js +135 -0
  725. package/Source/Renderer/Context.js +1726 -0
  726. package/Source/Renderer/ContextLimits.js +332 -0
  727. package/Source/Renderer/CubeMap.js +686 -0
  728. package/Source/Renderer/CubeMapFace.js +415 -0
  729. package/Source/Renderer/DrawCommand.js +676 -0
  730. package/Source/Renderer/Framebuffer.js +447 -0
  731. package/Source/Renderer/FramebufferManager.js +489 -0
  732. package/Source/Renderer/MipmapHint.js +23 -0
  733. package/Source/Renderer/MultisampleFramebuffer.js +136 -0
  734. package/Source/Renderer/Pass.js +35 -0
  735. package/Source/Renderer/PassState.js +57 -0
  736. package/Source/Renderer/PickId.js +44 -0
  737. package/Source/Renderer/PixelDatatype.js +123 -0
  738. package/Source/Renderer/RenderState.js +967 -0
  739. package/Source/Renderer/Renderbuffer.js +105 -0
  740. package/Source/Renderer/RenderbufferFormat.js +46 -0
  741. package/Source/Renderer/Sampler.js +116 -0
  742. package/Source/Renderer/ShaderBuilder.js +597 -0
  743. package/Source/Renderer/ShaderCache.js +287 -0
  744. package/Source/Renderer/ShaderDestination.js +95 -0
  745. package/Source/Renderer/ShaderFunction.js +66 -0
  746. package/Source/Renderer/ShaderProgram.js +619 -0
  747. package/Source/Renderer/ShaderSource.js +525 -0
  748. package/Source/Renderer/ShaderStruct.js +55 -0
  749. package/Source/Renderer/SharedContext.js +186 -0
  750. package/Source/Renderer/Sync.js +104 -0
  751. package/Source/Renderer/Texture.js +1126 -0
  752. package/Source/Renderer/Texture3D.js +737 -0
  753. package/Source/Renderer/TextureAtlas.js +833 -0
  754. package/Source/Renderer/TextureCache.js +81 -0
  755. package/Source/Renderer/TextureMagnificationFilter.js +43 -0
  756. package/Source/Renderer/TextureMinificationFilter.js +96 -0
  757. package/Source/Renderer/TextureWrap.js +23 -0
  758. package/Source/Renderer/UniformState.js +1948 -0
  759. package/Source/Renderer/VertexArray.js +949 -0
  760. package/Source/Renderer/VertexArrayFacade.js +509 -0
  761. package/Source/Renderer/createUniform.js +422 -0
  762. package/Source/Renderer/createUniformArray.js +638 -0
  763. package/Source/Renderer/demodernizeShader.js +84 -0
  764. package/Source/Renderer/freezeRenderState.js +30 -0
  765. package/Source/Renderer/loadCubeMap.js +88 -0
  766. package/Source/Scene/AlphaMode.js +37 -0
  767. package/Source/Scene/Appearance.js +204 -0
  768. package/Source/Scene/ArcGisBaseMapType.js +17 -0
  769. package/Source/Scene/ArcGisMapServerImageryProvider.js +875 -0
  770. package/Source/Scene/ArcGisMapService.js +80 -0
  771. package/Source/Scene/Atmosphere.js +149 -0
  772. package/Source/Scene/AttributeType.js +202 -0
  773. package/Source/Scene/AutoExposure.js +386 -0
  774. package/Source/Scene/Axis.js +118 -0
  775. package/Source/Scene/Azure2DImageryProvider.js +393 -0
  776. package/Source/Scene/B3dmParser.js +173 -0
  777. package/Source/Scene/BatchTable.js +636 -0
  778. package/Source/Scene/BatchTableHierarchy.js +504 -0
  779. package/Source/Scene/BatchTexture.js +574 -0
  780. package/Source/Scene/Billboard.js +1604 -0
  781. package/Source/Scene/BillboardCollection.js +2150 -0
  782. package/Source/Scene/BillboardLoadState.js +44 -0
  783. package/Source/Scene/BillboardTexture.js +400 -0
  784. package/Source/Scene/BingMapsImageryProvider.js +769 -0
  785. package/Source/Scene/BingMapsStyle.js +98 -0
  786. package/Source/Scene/BlendEquation.js +58 -0
  787. package/Source/Scene/BlendFunction.js +134 -0
  788. package/Source/Scene/BlendOption.js +33 -0
  789. package/Source/Scene/BlendingState.js +78 -0
  790. package/Source/Scene/BoundingVolumeSemantics.js +169 -0
  791. package/Source/Scene/BoxEmitter.js +74 -0
  792. package/Source/Scene/BrdfLutGenerator.js +75 -0
  793. package/Source/Scene/BufferLoader.js +130 -0
  794. package/Source/Scene/BufferPoint.js +149 -0
  795. package/Source/Scene/BufferPointCollection.js +141 -0
  796. package/Source/Scene/BufferPointMaterial.js +95 -0
  797. package/Source/Scene/BufferPolygon.js +517 -0
  798. package/Source/Scene/BufferPolygonCollection.js +370 -0
  799. package/Source/Scene/BufferPolygonMaterial.js +41 -0
  800. package/Source/Scene/BufferPolyline.js +186 -0
  801. package/Source/Scene/BufferPolylineCollection.js +138 -0
  802. package/Source/Scene/BufferPolylineMaterial.js +93 -0
  803. package/Source/Scene/BufferPrimitive.js +347 -0
  804. package/Source/Scene/BufferPrimitiveCollection.js +818 -0
  805. package/Source/Scene/BufferPrimitiveMaterial.js +140 -0
  806. package/Source/Scene/Camera.js +3989 -0
  807. package/Source/Scene/CameraEventAggregator.js +619 -0
  808. package/Source/Scene/CameraEventType.js +52 -0
  809. package/Source/Scene/CameraFlightPath.js +576 -0
  810. package/Source/Scene/Cesium3DContentGroup.js +44 -0
  811. package/Source/Scene/Cesium3DTile.js +2475 -0
  812. package/Source/Scene/Cesium3DTileBatchTable.js +1132 -0
  813. package/Source/Scene/Cesium3DTileColorBlendMode.js +57 -0
  814. package/Source/Scene/Cesium3DTileContent.js +415 -0
  815. package/Source/Scene/Cesium3DTileContentFactory.js +127 -0
  816. package/Source/Scene/Cesium3DTileContentState.js +17 -0
  817. package/Source/Scene/Cesium3DTileContentType.js +181 -0
  818. package/Source/Scene/Cesium3DTileFeature.js +427 -0
  819. package/Source/Scene/Cesium3DTileFeatureTable.js +131 -0
  820. package/Source/Scene/Cesium3DTileOptimizationHint.js +18 -0
  821. package/Source/Scene/Cesium3DTileOptimizations.js +115 -0
  822. package/Source/Scene/Cesium3DTilePass.js +83 -0
  823. package/Source/Scene/Cesium3DTilePassState.js +52 -0
  824. package/Source/Scene/Cesium3DTilePointFeature.js +778 -0
  825. package/Source/Scene/Cesium3DTileRefine.js +34 -0
  826. package/Source/Scene/Cesium3DTileStyle.js +1497 -0
  827. package/Source/Scene/Cesium3DTileStyleEngine.js +78 -0
  828. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  829. package/Source/Scene/Cesium3DTilesVoxelProvider.js +760 -0
  830. package/Source/Scene/Cesium3DTileset.js +3933 -0
  831. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +291 -0
  832. package/Source/Scene/Cesium3DTilesetCache.js +80 -0
  833. package/Source/Scene/Cesium3DTilesetHeatmap.js +165 -0
  834. package/Source/Scene/Cesium3DTilesetMetadata.js +199 -0
  835. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +131 -0
  836. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +420 -0
  837. package/Source/Scene/Cesium3DTilesetStatistics.js +195 -0
  838. package/Source/Scene/Cesium3DTilesetTraversal.js +323 -0
  839. package/Source/Scene/CircleEmitter.js +61 -0
  840. package/Source/Scene/ClassificationPrimitive.js +1387 -0
  841. package/Source/Scene/ClassificationType.js +37 -0
  842. package/Source/Scene/ClippingPlane.js +184 -0
  843. package/Source/Scene/ClippingPlaneCollection.js +764 -0
  844. package/Source/Scene/ClippingPolygon.js +300 -0
  845. package/Source/Scene/ClippingPolygonCollection.js +1134 -0
  846. package/Source/Scene/CloudCollection.js +1041 -0
  847. package/Source/Scene/CloudType.js +35 -0
  848. package/Source/Scene/ColorBlendMode.js +36 -0
  849. package/Source/Scene/Composite3DTileContent.js +403 -0
  850. package/Source/Scene/ConditionsExpression.js +219 -0
  851. package/Source/Scene/ConeEmitter.js +61 -0
  852. package/Source/Scene/ContentMetadata.js +184 -0
  853. package/Source/Scene/CreditDisplay.js +654 -0
  854. package/Source/Scene/CubeMapPanorama.js +351 -0
  855. package/Source/Scene/CullFace.js +38 -0
  856. package/Source/Scene/CumulusCloud.js +347 -0
  857. package/Source/Scene/DebugAppearance.js +266 -0
  858. package/Source/Scene/DebugCameraPrimitive.js +257 -0
  859. package/Source/Scene/DebugInspector.js +151 -0
  860. package/Source/Scene/DebugModelMatrixPrimitive.js +220 -0
  861. package/Source/Scene/DepthFunction.js +78 -0
  862. package/Source/Scene/DepthPlane.js +238 -0
  863. package/Source/Scene/DerivedCommand.js +685 -0
  864. package/Source/Scene/DeviceOrientationCameraController.js +120 -0
  865. package/Source/Scene/DirectionalLight.js +49 -0
  866. package/Source/Scene/DiscardEmptyTileImagePolicy.js +54 -0
  867. package/Source/Scene/DiscardMissingTileImagePolicy.js +148 -0
  868. package/Source/Scene/DracoLoader.js +100 -0
  869. package/Source/Scene/DynamicAtmosphereLightingType.js +58 -0
  870. package/Source/Scene/DynamicEnvironmentMapManager.js +1037 -0
  871. package/Source/Scene/EdgeFramebuffer.js +245 -0
  872. package/Source/Scene/EllipsoidPrimitive.js +496 -0
  873. package/Source/Scene/EllipsoidSurfaceAppearance.js +278 -0
  874. package/Source/Scene/Empty3DTileContent.js +164 -0
  875. package/Source/Scene/EquirectangularPanorama.js +265 -0
  876. package/Source/Scene/Expression.js +2233 -0
  877. package/Source/Scene/ExpressionNodeType.js +30 -0
  878. package/Source/Scene/Fog.js +166 -0
  879. package/Source/Scene/FrameRateMonitor.js +375 -0
  880. package/Source/Scene/FrameState.js +484 -0
  881. package/Source/Scene/FrustumCommands.js +29 -0
  882. package/Source/Scene/GaussianSplat3DTileContent.js +820 -0
  883. package/Source/Scene/GaussianSplatPrimitive.js +2147 -0
  884. package/Source/Scene/GaussianSplatRenderResources.js +81 -0
  885. package/Source/Scene/GaussianSplatSorter.js +73 -0
  886. package/Source/Scene/GaussianSplatTextureGenerator.js +64 -0
  887. package/Source/Scene/Geometry3DTileContent.js +534 -0
  888. package/Source/Scene/GetFeatureInfoFormat.js +396 -0
  889. package/Source/Scene/Globe.js +1128 -0
  890. package/Source/Scene/GlobeDepth.js +407 -0
  891. package/Source/Scene/GlobeSurfaceShaderSet.js +489 -0
  892. package/Source/Scene/GlobeSurfaceTile.js +967 -0
  893. package/Source/Scene/GlobeSurfaceTileProvider.js +2910 -0
  894. package/Source/Scene/GlobeTranslucency.js +239 -0
  895. package/Source/Scene/GlobeTranslucencyFramebuffer.js +201 -0
  896. package/Source/Scene/GlobeTranslucencyState.js +1102 -0
  897. package/Source/Scene/GltfBufferViewLoader.js +231 -0
  898. package/Source/Scene/GltfDracoLoader.js +282 -0
  899. package/Source/Scene/GltfImageLoader.js +307 -0
  900. package/Source/Scene/GltfIndexBufferLoader.js +404 -0
  901. package/Source/Scene/GltfJsonLoader.js +303 -0
  902. package/Source/Scene/GltfLoader.js +3176 -0
  903. package/Source/Scene/GltfLoaderUtil.js +198 -0
  904. package/Source/Scene/GltfPipeline/ForEach.js +424 -0
  905. package/Source/Scene/GltfPipeline/addBuffer.js +30 -0
  906. package/Source/Scene/GltfPipeline/addDefaults.js +208 -0
  907. package/Source/Scene/GltfPipeline/addExtensionsRequired.js +24 -0
  908. package/Source/Scene/GltfPipeline/addExtensionsUsed.js +22 -0
  909. package/Source/Scene/GltfPipeline/addPipelineExtras.js +36 -0
  910. package/Source/Scene/GltfPipeline/addToArray.js +25 -0
  911. package/Source/Scene/GltfPipeline/findAccessorMinMax.js +71 -0
  912. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +155 -0
  913. package/Source/Scene/GltfPipeline/getAccessorByteStride.js +29 -0
  914. package/Source/Scene/GltfPipeline/getComponentReader.js +147 -0
  915. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +135 -0
  916. package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +145 -0
  917. package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +29 -0
  918. package/Source/Scene/GltfPipeline/parseGlb.js +118 -0
  919. package/Source/Scene/GltfPipeline/readAccessorPacked.js +54 -0
  920. package/Source/Scene/GltfPipeline/removeExtension.js +64 -0
  921. package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +24 -0
  922. package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +26 -0
  923. package/Source/Scene/GltfPipeline/removePipelineExtras.js +42 -0
  924. package/Source/Scene/GltfPipeline/removeUnusedElements.js +906 -0
  925. package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +53 -0
  926. package/Source/Scene/GltfPipeline/updateVersion.js +1148 -0
  927. package/Source/Scene/GltfPipeline/usesExtension.js +18 -0
  928. package/Source/Scene/GltfSpzLoader.js +324 -0
  929. package/Source/Scene/GltfStructuralMetadataLoader.js +498 -0
  930. package/Source/Scene/GltfTextureLoader.js +383 -0
  931. package/Source/Scene/GltfVertexBufferLoader.js +621 -0
  932. package/Source/Scene/Google2DImageryProvider.js +621 -0
  933. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +548 -0
  934. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +589 -0
  935. package/Source/Scene/GoogleStreetViewCubeMapPanoramaProvider.js +341 -0
  936. package/Source/Scene/GridImageryProvider.js +322 -0
  937. package/Source/Scene/GroundPolylinePrimitive.js +944 -0
  938. package/Source/Scene/GroundPrimitive.js +1000 -0
  939. package/Source/Scene/GroupMetadata.js +203 -0
  940. package/Source/Scene/HeightReference.js +89 -0
  941. package/Source/Scene/HorizontalOrigin.js +46 -0
  942. package/Source/Scene/I3SDataProvider.js +860 -0
  943. package/Source/Scene/I3SDecoder.js +133 -0
  944. package/Source/Scene/I3SFeature.js +61 -0
  945. package/Source/Scene/I3SField.js +360 -0
  946. package/Source/Scene/I3SGeometry.js +477 -0
  947. package/Source/Scene/I3SLayer.js +460 -0
  948. package/Source/Scene/I3SNode.js +927 -0
  949. package/Source/Scene/I3SStatistics.js +94 -0
  950. package/Source/Scene/I3SSublayer.js +175 -0
  951. package/Source/Scene/I3SSymbology.js +336 -0
  952. package/Source/Scene/I3dmParser.js +140 -0
  953. package/Source/Scene/ITwinData.js +284 -0
  954. package/Source/Scene/ImageBasedLighting.js +463 -0
  955. package/Source/Scene/Imagery.js +120 -0
  956. package/Source/Scene/ImageryLayer.js +1747 -0
  957. package/Source/Scene/ImageryLayerCollection.js +645 -0
  958. package/Source/Scene/ImageryLayerFeatureInfo.js +111 -0
  959. package/Source/Scene/ImageryProvider.js +267 -0
  960. package/Source/Scene/ImageryState.js +19 -0
  961. package/Source/Scene/Implicit3DTileContent.js +1206 -0
  962. package/Source/Scene/ImplicitAvailabilityBitstream.js +134 -0
  963. package/Source/Scene/ImplicitMetadataView.js +178 -0
  964. package/Source/Scene/ImplicitSubdivisionScheme.js +50 -0
  965. package/Source/Scene/ImplicitSubtree.js +1161 -0
  966. package/Source/Scene/ImplicitSubtreeCache.js +127 -0
  967. package/Source/Scene/ImplicitSubtreeMetadata.js +191 -0
  968. package/Source/Scene/ImplicitTileCoordinates.js +647 -0
  969. package/Source/Scene/ImplicitTileset.js +269 -0
  970. package/Source/Scene/InstanceAttributeSemantic.js +81 -0
  971. package/Source/Scene/InvertClassification.js +381 -0
  972. package/Source/Scene/IonImageryProvider.js +346 -0
  973. package/Source/Scene/IonImageryProviderFactory.js +194 -0
  974. package/Source/Scene/IonWorldImageryStyle.js +38 -0
  975. package/Source/Scene/JobScheduler.js +199 -0
  976. package/Source/Scene/JobType.js +15 -0
  977. package/Source/Scene/JsonMetadataTable.js +114 -0
  978. package/Source/Scene/KeyframeNode.js +61 -0
  979. package/Source/Scene/Label.js +1652 -0
  980. package/Source/Scene/LabelCollection.js +1091 -0
  981. package/Source/Scene/LabelStyle.js +38 -0
  982. package/Source/Scene/Light.js +34 -0
  983. package/Source/Scene/MapMode2D.js +28 -0
  984. package/Source/Scene/MapboxImageryProvider.js +332 -0
  985. package/Source/Scene/MapboxStyleImageryProvider.js +342 -0
  986. package/Source/Scene/Material.js +1931 -0
  987. package/Source/Scene/MaterialAppearance.js +328 -0
  988. package/Source/Scene/Megatexture.js +483 -0
  989. package/Source/Scene/MetadataClass.js +202 -0
  990. package/Source/Scene/MetadataClassProperty.js +1410 -0
  991. package/Source/Scene/MetadataComponentType.js +598 -0
  992. package/Source/Scene/MetadataEntity.js +425 -0
  993. package/Source/Scene/MetadataEnum.js +219 -0
  994. package/Source/Scene/MetadataEnumValue.js +131 -0
  995. package/Source/Scene/MetadataPicking.js +396 -0
  996. package/Source/Scene/MetadataSchema.js +202 -0
  997. package/Source/Scene/MetadataSchemaLoader.js +126 -0
  998. package/Source/Scene/MetadataSemantic.js +157 -0
  999. package/Source/Scene/MetadataTable.js +371 -0
  1000. package/Source/Scene/MetadataTableProperty.js +854 -0
  1001. package/Source/Scene/MetadataType.js +222 -0
  1002. package/Source/Scene/Model/AlphaPipelineStage.js +51 -0
  1003. package/Source/Scene/Model/AtmospherePipelineStage.js +64 -0
  1004. package/Source/Scene/Model/B3dmLoader.js +357 -0
  1005. package/Source/Scene/Model/BatchTexturePipelineStage.js +71 -0
  1006. package/Source/Scene/Model/CPUStylingPipelineStage.js +77 -0
  1007. package/Source/Scene/Model/CartesianRectangle.js +108 -0
  1008. package/Source/Scene/Model/ClassificationModelDrawCommand.js +534 -0
  1009. package/Source/Scene/Model/ClassificationPipelineStage.js +132 -0
  1010. package/Source/Scene/Model/CustomShader.js +474 -0
  1011. package/Source/Scene/Model/CustomShaderMode.js +42 -0
  1012. package/Source/Scene/Model/CustomShaderPipelineStage.js +784 -0
  1013. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +39 -0
  1014. package/Source/Scene/Model/DequantizationPipelineStage.js +178 -0
  1015. package/Source/Scene/Model/EdgeDetectionPipelineStage.js +42 -0
  1016. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +1271 -0
  1017. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  1018. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  1019. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  1020. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  1021. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  1022. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +543 -0
  1023. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  1024. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  1025. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +79 -0
  1026. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  1027. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  1028. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +34 -0
  1029. package/Source/Scene/Model/FeatureIdPipelineStage.js +523 -0
  1030. package/Source/Scene/Model/GeoJsonLoader.js +687 -0
  1031. package/Source/Scene/Model/GeometryPipelineStage.js +543 -0
  1032. package/Source/Scene/Model/I3dmLoader.js +872 -0
  1033. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +168 -0
  1034. package/Source/Scene/Model/ImageryConfiguration.js +26 -0
  1035. package/Source/Scene/Model/ImageryCoverage.js +488 -0
  1036. package/Source/Scene/Model/ImageryFlags.js +31 -0
  1037. package/Source/Scene/Model/ImageryInput.js +60 -0
  1038. package/Source/Scene/Model/ImageryPipelineStage.js +1046 -0
  1039. package/Source/Scene/Model/InstancingPipelineStage.js +1056 -0
  1040. package/Source/Scene/Model/LightingModel.js +34 -0
  1041. package/Source/Scene/Model/LightingPipelineStage.js +73 -0
  1042. package/Source/Scene/Model/MappedPositions.js +84 -0
  1043. package/Source/Scene/Model/MaterialPipelineStage.js +1214 -0
  1044. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  1045. package/Source/Scene/Model/MetadataPipelineStage.js +1073 -0
  1046. package/Source/Scene/Model/Model.js +3340 -0
  1047. package/Source/Scene/Model/Model3DTileContent.js +551 -0
  1048. package/Source/Scene/Model/ModelAlphaOptions.js +26 -0
  1049. package/Source/Scene/Model/ModelAnimation.js +421 -0
  1050. package/Source/Scene/Model/ModelAnimationChannel.js +294 -0
  1051. package/Source/Scene/Model/ModelAnimationCollection.js +553 -0
  1052. package/Source/Scene/Model/ModelArticulation.js +214 -0
  1053. package/Source/Scene/Model/ModelArticulationStage.js +261 -0
  1054. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +126 -0
  1055. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +98 -0
  1056. package/Source/Scene/Model/ModelColorPipelineStage.js +98 -0
  1057. package/Source/Scene/Model/ModelDrawCommand.js +928 -0
  1058. package/Source/Scene/Model/ModelDrawCommands.js +218 -0
  1059. package/Source/Scene/Model/ModelFeature.js +229 -0
  1060. package/Source/Scene/Model/ModelFeatureTable.js +316 -0
  1061. package/Source/Scene/Model/ModelImagery.js +410 -0
  1062. package/Source/Scene/Model/ModelImageryMapping.js +489 -0
  1063. package/Source/Scene/Model/ModelLightingOptions.js +29 -0
  1064. package/Source/Scene/Model/ModelMatrixUpdateStage.js +120 -0
  1065. package/Source/Scene/Model/ModelNode.js +125 -0
  1066. package/Source/Scene/Model/ModelPrimitiveImagery.js +972 -0
  1067. package/Source/Scene/Model/ModelReader.js +1281 -0
  1068. package/Source/Scene/Model/ModelRenderResources.js +119 -0
  1069. package/Source/Scene/Model/ModelRuntimeNode.js +648 -0
  1070. package/Source/Scene/Model/ModelRuntimePrimitive.js +381 -0
  1071. package/Source/Scene/Model/ModelSceneGraph.js +1098 -0
  1072. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +109 -0
  1073. package/Source/Scene/Model/ModelSkin.js +180 -0
  1074. package/Source/Scene/Model/ModelSplitterPipelineStage.js +65 -0
  1075. package/Source/Scene/Model/ModelStatistics.js +225 -0
  1076. package/Source/Scene/Model/ModelType.js +96 -0
  1077. package/Source/Scene/Model/ModelUtility.js +397 -0
  1078. package/Source/Scene/Model/MorphTargetsPipelineStage.js +249 -0
  1079. package/Source/Scene/Model/NodeRenderResources.js +170 -0
  1080. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +75 -0
  1081. package/Source/Scene/Model/PickingPipelineStage.js +218 -0
  1082. package/Source/Scene/Model/PntsLoader.js +706 -0
  1083. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +392 -0
  1084. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +689 -0
  1085. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +99 -0
  1086. package/Source/Scene/Model/PrimitiveRenderResources.js +297 -0
  1087. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +253 -0
  1088. package/Source/Scene/Model/SceneMode2DPipelineStage.js +301 -0
  1089. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +180 -0
  1090. package/Source/Scene/Model/SkinningPipelineStage.js +118 -0
  1091. package/Source/Scene/Model/StyleCommandsNeeded.js +31 -0
  1092. package/Source/Scene/Model/TextureManager.js +244 -0
  1093. package/Source/Scene/Model/TextureUniform.js +71 -0
  1094. package/Source/Scene/Model/TilesetPipelineStage.js +73 -0
  1095. package/Source/Scene/Model/UniformType.js +128 -0
  1096. package/Source/Scene/Model/VaryingType.js +65 -0
  1097. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +58 -0
  1098. package/Source/Scene/Model/WireframePipelineStage.js +118 -0
  1099. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +384 -0
  1100. package/Source/Scene/Model/pickModel.js +220 -0
  1101. package/Source/Scene/ModelAnimationLoop.js +38 -0
  1102. package/Source/Scene/ModelAnimationState.js +14 -0
  1103. package/Source/Scene/ModelComponents.js +1769 -0
  1104. package/Source/Scene/Moon.js +175 -0
  1105. package/Source/Scene/Multiple3DTileContent.js +722 -0
  1106. package/Source/Scene/NeverTileDiscardPolicy.js +28 -0
  1107. package/Source/Scene/OIT.js +946 -0
  1108. package/Source/Scene/OpenStreetMapImageryProvider.js +128 -0
  1109. package/Source/Scene/OrderedGroundPrimitiveCollection.js +218 -0
  1110. package/Source/Scene/Panorama.js +53 -0
  1111. package/Source/Scene/PanoramaProvider.js +43 -0
  1112. package/Source/Scene/Particle.js +149 -0
  1113. package/Source/Scene/ParticleBurst.js +51 -0
  1114. package/Source/Scene/ParticleEmitter.js +36 -0
  1115. package/Source/Scene/ParticleSystem.js +885 -0
  1116. package/Source/Scene/PerInstanceColorAppearance.js +296 -0
  1117. package/Source/Scene/PerformanceDisplay.js +120 -0
  1118. package/Source/Scene/PickDepth.js +125 -0
  1119. package/Source/Scene/PickDepthFramebuffer.js +79 -0
  1120. package/Source/Scene/PickFramebuffer.js +255 -0
  1121. package/Source/Scene/PickedMetadataInfo.js +58 -0
  1122. package/Source/Scene/Picking.js +1683 -0
  1123. package/Source/Scene/PntsParser.js +547 -0
  1124. package/Source/Scene/PointCloud.js +1412 -0
  1125. package/Source/Scene/PointCloudEyeDomeLighting.js +284 -0
  1126. package/Source/Scene/PointCloudShading.js +104 -0
  1127. package/Source/Scene/PointPrimitive.js +690 -0
  1128. package/Source/Scene/PointPrimitiveCollection.js +1215 -0
  1129. package/Source/Scene/Polyline.js +430 -0
  1130. package/Source/Scene/PolylineCollection.js +1947 -0
  1131. package/Source/Scene/PolylineColorAppearance.js +215 -0
  1132. package/Source/Scene/PolylineMaterialAppearance.js +226 -0
  1133. package/Source/Scene/PostProcessStage.js +1000 -0
  1134. package/Source/Scene/PostProcessStageCollection.js +900 -0
  1135. package/Source/Scene/PostProcessStageComposite.js +359 -0
  1136. package/Source/Scene/PostProcessStageLibrary.js +826 -0
  1137. package/Source/Scene/PostProcessStageSampleMode.js +22 -0
  1138. package/Source/Scene/PostProcessStageTextureCache.js +454 -0
  1139. package/Source/Scene/Primitive.js +2504 -0
  1140. package/Source/Scene/PrimitiveCollection.js +532 -0
  1141. package/Source/Scene/PrimitiveLoadPlan.js +303 -0
  1142. package/Source/Scene/PrimitivePipeline.js +854 -0
  1143. package/Source/Scene/PrimitiveState.js +142 -0
  1144. package/Source/Scene/PropertyAttribute.js +160 -0
  1145. package/Source/Scene/PropertyAttributeProperty.js +177 -0
  1146. package/Source/Scene/PropertyTable.js +579 -0
  1147. package/Source/Scene/PropertyTexture.js +162 -0
  1148. package/Source/Scene/PropertyTextureProperty.js +207 -0
  1149. package/Source/Scene/QuadtreeOccluders.js +35 -0
  1150. package/Source/Scene/QuadtreePrimitive.js +1578 -0
  1151. package/Source/Scene/QuadtreeTile.js +735 -0
  1152. package/Source/Scene/QuadtreeTileLoadState.js +44 -0
  1153. package/Source/Scene/QuadtreeTileProvider.js +196 -0
  1154. package/Source/Scene/ResourceCache.js +824 -0
  1155. package/Source/Scene/ResourceCacheKey.js +601 -0
  1156. package/Source/Scene/ResourceCacheStatistics.js +149 -0
  1157. package/Source/Scene/ResourceLoader.js +118 -0
  1158. package/Source/Scene/ResourceLoaderState.js +62 -0
  1159. package/Source/Scene/SDFSettings.js +39 -0
  1160. package/Source/Scene/Scene.js +5292 -0
  1161. package/Source/Scene/SceneFramebuffer.js +106 -0
  1162. package/Source/Scene/SceneMode.js +59 -0
  1163. package/Source/Scene/SceneTransforms.js +463 -0
  1164. package/Source/Scene/SceneTransitioner.js +1111 -0
  1165. package/Source/Scene/ScreenSpaceCameraController.js +3111 -0
  1166. package/Source/Scene/SensorVolumePortionToDisplay.js +69 -0
  1167. package/Source/Scene/ShadowMap.js +1956 -0
  1168. package/Source/Scene/ShadowMapShader.js +395 -0
  1169. package/Source/Scene/ShadowMode.js +80 -0
  1170. package/Source/Scene/ShadowVolumeAppearance.js +936 -0
  1171. package/Source/Scene/SingleTileImageryProvider.js +380 -0
  1172. package/Source/Scene/SkyAtmosphere.js +400 -0
  1173. package/Source/Scene/SkyBox.js +163 -0
  1174. package/Source/Scene/SpatialNode.js +377 -0
  1175. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  1176. package/Source/Scene/SphereEmitter.js +65 -0
  1177. package/Source/Scene/SplitDirection.js +39 -0
  1178. package/Source/Scene/Splitter.js +49 -0
  1179. package/Source/Scene/StencilConstants.js +37 -0
  1180. package/Source/Scene/StencilFunction.js +78 -0
  1181. package/Source/Scene/StencilOperation.js +78 -0
  1182. package/Source/Scene/StructuralMetadata.js +258 -0
  1183. package/Source/Scene/StyleExpression.js +86 -0
  1184. package/Source/Scene/Sun.js +363 -0
  1185. package/Source/Scene/SunLight.js +31 -0
  1186. package/Source/Scene/SunPostProcess.js +288 -0
  1187. package/Source/Scene/SupportedImageFormats.js +18 -0
  1188. package/Source/Scene/Terrain.js +245 -0
  1189. package/Source/Scene/TerrainFillMesh.js +2222 -0
  1190. package/Source/Scene/TerrainState.js +19 -0
  1191. package/Source/Scene/TileBoundingRegion.js +489 -0
  1192. package/Source/Scene/TileBoundingS2Cell.js +699 -0
  1193. package/Source/Scene/TileBoundingSphere.js +167 -0
  1194. package/Source/Scene/TileBoundingVolume.js +68 -0
  1195. package/Source/Scene/TileCoordinatesImageryProvider.js +269 -0
  1196. package/Source/Scene/TileDiscardPolicy.js +34 -0
  1197. package/Source/Scene/TileImagery.js +126 -0
  1198. package/Source/Scene/TileMapServiceImageryProvider.js +442 -0
  1199. package/Source/Scene/TileMetadata.js +184 -0
  1200. package/Source/Scene/TileOrientedBoundingBox.js +219 -0
  1201. package/Source/Scene/TileReplacementQueue.js +119 -0
  1202. package/Source/Scene/TileSelectionResult.js +80 -0
  1203. package/Source/Scene/TileState.js +16 -0
  1204. package/Source/Scene/Tileset3DTileContent.js +182 -0
  1205. package/Source/Scene/TilesetMetadata.js +186 -0
  1206. package/Source/Scene/TimeDynamicImagery.js +308 -0
  1207. package/Source/Scene/TimeDynamicPointCloud.js +802 -0
  1208. package/Source/Scene/Tonemapper.js +68 -0
  1209. package/Source/Scene/TranslucentTileClassification.js +514 -0
  1210. package/Source/Scene/TweenCollection.js +592 -0
  1211. package/Source/Scene/UrlTemplateImageryProvider.js +989 -0
  1212. package/Source/Scene/Vector3DTileBatch.js +37 -0
  1213. package/Source/Scene/Vector3DTileClampedPolylines.js +779 -0
  1214. package/Source/Scene/Vector3DTileContent.js +770 -0
  1215. package/Source/Scene/Vector3DTileGeometry.js +497 -0
  1216. package/Source/Scene/Vector3DTilePoints.js +548 -0
  1217. package/Source/Scene/Vector3DTilePolygons.js +479 -0
  1218. package/Source/Scene/Vector3DTilePolylines.js +675 -0
  1219. package/Source/Scene/Vector3DTilePrimitive.js +1276 -0
  1220. package/Source/Scene/VectorGltf3DTileContent.js +434 -0
  1221. package/Source/Scene/VertexAttributeSemantic.js +321 -0
  1222. package/Source/Scene/VerticalOrigin.js +54 -0
  1223. package/Source/Scene/View.js +465 -0
  1224. package/Source/Scene/ViewportQuad.js +182 -0
  1225. package/Source/Scene/VoxelBoundsCollection.js +494 -0
  1226. package/Source/Scene/VoxelBoxShape.js +601 -0
  1227. package/Source/Scene/VoxelCell.js +274 -0
  1228. package/Source/Scene/VoxelContent.js +233 -0
  1229. package/Source/Scene/VoxelCylinderShape.js +869 -0
  1230. package/Source/Scene/VoxelEllipsoidShape.js +1124 -0
  1231. package/Source/Scene/VoxelMetadataOrder.js +29 -0
  1232. package/Source/Scene/VoxelPrimitive.js +2152 -0
  1233. package/Source/Scene/VoxelProvider.js +235 -0
  1234. package/Source/Scene/VoxelRenderResources.js +252 -0
  1235. package/Source/Scene/VoxelShape.js +179 -0
  1236. package/Source/Scene/VoxelShapeType.js +107 -0
  1237. package/Source/Scene/VoxelTraversal.js +1219 -0
  1238. package/Source/Scene/WebMapServiceImageryProvider.js +649 -0
  1239. package/Source/Scene/WebMapTileServiceImageryProvider.js +810 -0
  1240. package/Source/Scene/buildVoxelDrawCommands.js +177 -0
  1241. package/Source/Scene/computeFlyToLocationForRectangle.js +74 -0
  1242. package/Source/Scene/createBillboardPointCallback.js +70 -0
  1243. package/Source/Scene/createElevationBandMaterial.js +580 -0
  1244. package/Source/Scene/createGooglePhotorealistic3DTileset.js +116 -0
  1245. package/Source/Scene/createOsmBuildingsAsync.js +79 -0
  1246. package/Source/Scene/createTangentSpaceDebugPrimitive.js +114 -0
  1247. package/Source/Scene/createWorldImageryAsync.js +39 -0
  1248. package/Source/Scene/findContentMetadata.js +51 -0
  1249. package/Source/Scene/findGroupMetadata.js +39 -0
  1250. package/Source/Scene/findTileMetadata.js +53 -0
  1251. package/Source/Scene/getBinaryAccessor.js +56 -0
  1252. package/Source/Scene/getClipAndStyleCode.js +34 -0
  1253. package/Source/Scene/getClippingFunction.js +154 -0
  1254. package/Source/Scene/getMeshPrimitives.js +72 -0
  1255. package/Source/Scene/getMetadataClassProperty.js +43 -0
  1256. package/Source/Scene/getMetadataProperty.js +48 -0
  1257. package/Source/Scene/hasExtension.js +19 -0
  1258. package/Source/Scene/parseBatchTable.js +448 -0
  1259. package/Source/Scene/parseFeatureMetadataLegacy.js +139 -0
  1260. package/Source/Scene/parseStructuralMetadata.js +406 -0
  1261. package/Source/Scene/preprocess3DTileContent.js +102 -0
  1262. package/Source/Scene/processVoxelProperties.js +398 -0
  1263. package/Source/Scene/renderBufferPointCollection.js +285 -0
  1264. package/Source/Scene/renderBufferPolygonCollection.js +339 -0
  1265. package/Source/Scene/renderBufferPolylineCollection.js +478 -0
  1266. package/Source/Shaders/AdjustTranslucentFS.glsl +27 -0
  1267. package/Source/Shaders/AdjustTranslucentFS.js +29 -0
  1268. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +29 -0
  1269. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +31 -0
  1270. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +26 -0
  1271. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +28 -0
  1272. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +23 -0
  1273. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +25 -0
  1274. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +17 -0
  1275. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +19 -0
  1276. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +33 -0
  1277. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +35 -0
  1278. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +19 -0
  1279. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +21 -0
  1280. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +24 -0
  1281. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +26 -0
  1282. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +20 -0
  1283. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +22 -0
  1284. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +6 -0
  1285. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +8 -0
  1286. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +15 -0
  1287. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +17 -0
  1288. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +28 -0
  1289. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +30 -0
  1290. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +33 -0
  1291. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +35 -0
  1292. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +25 -0
  1293. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +27 -0
  1294. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +20 -0
  1295. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +22 -0
  1296. package/Source/Shaders/AtmosphereCommon.glsl +187 -0
  1297. package/Source/Shaders/AtmosphereCommon.js +189 -0
  1298. package/Source/Shaders/BillboardCollectionFS.glsl +212 -0
  1299. package/Source/Shaders/BillboardCollectionFS.js +214 -0
  1300. package/Source/Shaders/BillboardCollectionVS.glsl +378 -0
  1301. package/Source/Shaders/BillboardCollectionVS.js +380 -0
  1302. package/Source/Shaders/BrdfLutGeneratorFS.glsl +100 -0
  1303. package/Source/Shaders/BrdfLutGeneratorFS.js +102 -0
  1304. package/Source/Shaders/BufferPointMaterialFS.glsl +27 -0
  1305. package/Source/Shaders/BufferPointMaterialFS.js +29 -0
  1306. package/Source/Shaders/BufferPointMaterialVS.glsl +48 -0
  1307. package/Source/Shaders/BufferPointMaterialVS.js +50 -0
  1308. package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
  1309. package/Source/Shaders/BufferPolygonMaterialFS.js +15 -0
  1310. package/Source/Shaders/BufferPolygonMaterialVS.glsl +30 -0
  1311. package/Source/Shaders/BufferPolygonMaterialVS.js +32 -0
  1312. package/Source/Shaders/BufferPolylineMaterialFS.glsl +13 -0
  1313. package/Source/Shaders/BufferPolylineMaterialFS.js +15 -0
  1314. package/Source/Shaders/BufferPolylineMaterialVS.glsl +49 -0
  1315. package/Source/Shaders/BufferPolylineMaterialVS.js +51 -0
  1316. package/Source/Shaders/Builtin/Constants/degreesPerRadian.glsl +16 -0
  1317. package/Source/Shaders/Builtin/Constants/degreesPerRadian.js +18 -0
  1318. package/Source/Shaders/Builtin/Constants/depthRange.glsl +14 -0
  1319. package/Source/Shaders/Builtin/Constants/depthRange.js +16 -0
  1320. package/Source/Shaders/Builtin/Constants/epsilon1.glsl +7 -0
  1321. package/Source/Shaders/Builtin/Constants/epsilon1.js +9 -0
  1322. package/Source/Shaders/Builtin/Constants/epsilon2.glsl +7 -0
  1323. package/Source/Shaders/Builtin/Constants/epsilon2.js +9 -0
  1324. package/Source/Shaders/Builtin/Constants/epsilon3.glsl +7 -0
  1325. package/Source/Shaders/Builtin/Constants/epsilon3.js +9 -0
  1326. package/Source/Shaders/Builtin/Constants/epsilon4.glsl +7 -0
  1327. package/Source/Shaders/Builtin/Constants/epsilon4.js +9 -0
  1328. package/Source/Shaders/Builtin/Constants/epsilon5.glsl +7 -0
  1329. package/Source/Shaders/Builtin/Constants/epsilon5.js +9 -0
  1330. package/Source/Shaders/Builtin/Constants/epsilon6.glsl +7 -0
  1331. package/Source/Shaders/Builtin/Constants/epsilon6.js +9 -0
  1332. package/Source/Shaders/Builtin/Constants/epsilon7.glsl +7 -0
  1333. package/Source/Shaders/Builtin/Constants/epsilon7.js +9 -0
  1334. package/Source/Shaders/Builtin/Constants/infinity.glsl +7 -0
  1335. package/Source/Shaders/Builtin/Constants/infinity.js +9 -0
  1336. package/Source/Shaders/Builtin/Constants/oneOverPi.glsl +16 -0
  1337. package/Source/Shaders/Builtin/Constants/oneOverPi.js +18 -0
  1338. package/Source/Shaders/Builtin/Constants/oneOverTwoPi.glsl +16 -0
  1339. package/Source/Shaders/Builtin/Constants/oneOverTwoPi.js +18 -0
  1340. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +9 -0
  1341. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +11 -0
  1342. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +9 -0
  1343. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +11 -0
  1344. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +9 -0
  1345. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +11 -0
  1346. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.glsl +10 -0
  1347. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdges.js +12 -0
  1348. package/Source/Shaders/Builtin/Constants/passClassification.glsl +9 -0
  1349. package/Source/Shaders/Builtin/Constants/passClassification.js +11 -0
  1350. package/Source/Shaders/Builtin/Constants/passCompute.glsl +9 -0
  1351. package/Source/Shaders/Builtin/Constants/passCompute.js +11 -0
  1352. package/Source/Shaders/Builtin/Constants/passEnvironment.glsl +9 -0
  1353. package/Source/Shaders/Builtin/Constants/passEnvironment.js +11 -0
  1354. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +9 -0
  1355. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +11 -0
  1356. package/Source/Shaders/Builtin/Constants/passGlobe.glsl +9 -0
  1357. package/Source/Shaders/Builtin/Constants/passGlobe.js +11 -0
  1358. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +9 -0
  1359. package/Source/Shaders/Builtin/Constants/passOpaque.js +11 -0
  1360. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +9 -0
  1361. package/Source/Shaders/Builtin/Constants/passOverlay.js +11 -0
  1362. package/Source/Shaders/Builtin/Constants/passTerrainClassification.glsl +9 -0
  1363. package/Source/Shaders/Builtin/Constants/passTerrainClassification.js +11 -0
  1364. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +9 -0
  1365. package/Source/Shaders/Builtin/Constants/passTranslucent.js +11 -0
  1366. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
  1367. package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
  1368. package/Source/Shaders/Builtin/Constants/pi.glsl +16 -0
  1369. package/Source/Shaders/Builtin/Constants/pi.js +18 -0
  1370. package/Source/Shaders/Builtin/Constants/piOverFour.glsl +16 -0
  1371. package/Source/Shaders/Builtin/Constants/piOverFour.js +18 -0
  1372. package/Source/Shaders/Builtin/Constants/piOverSix.glsl +16 -0
  1373. package/Source/Shaders/Builtin/Constants/piOverSix.js +18 -0
  1374. package/Source/Shaders/Builtin/Constants/piOverThree.glsl +16 -0
  1375. package/Source/Shaders/Builtin/Constants/piOverThree.js +18 -0
  1376. package/Source/Shaders/Builtin/Constants/piOverTwo.glsl +16 -0
  1377. package/Source/Shaders/Builtin/Constants/piOverTwo.js +18 -0
  1378. package/Source/Shaders/Builtin/Constants/radiansPerDegree.glsl +16 -0
  1379. package/Source/Shaders/Builtin/Constants/radiansPerDegree.js +18 -0
  1380. package/Source/Shaders/Builtin/Constants/sceneMode2D.glsl +11 -0
  1381. package/Source/Shaders/Builtin/Constants/sceneMode2D.js +13 -0
  1382. package/Source/Shaders/Builtin/Constants/sceneMode3D.glsl +11 -0
  1383. package/Source/Shaders/Builtin/Constants/sceneMode3D.js +13 -0
  1384. package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.glsl +11 -0
  1385. package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.js +13 -0
  1386. package/Source/Shaders/Builtin/Constants/sceneModeMorphing.glsl +11 -0
  1387. package/Source/Shaders/Builtin/Constants/sceneModeMorphing.js +13 -0
  1388. package/Source/Shaders/Builtin/Constants/solarRadius.glsl +13 -0
  1389. package/Source/Shaders/Builtin/Constants/solarRadius.js +15 -0
  1390. package/Source/Shaders/Builtin/Constants/threePiOver2.glsl +16 -0
  1391. package/Source/Shaders/Builtin/Constants/threePiOver2.js +18 -0
  1392. package/Source/Shaders/Builtin/Constants/twoPi.glsl +16 -0
  1393. package/Source/Shaders/Builtin/Constants/twoPi.js +18 -0
  1394. package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.glsl +16 -0
  1395. package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +18 -0
  1396. package/Source/Shaders/Builtin/CzmBuiltins.js +286 -0
  1397. package/Source/Shaders/Builtin/Functions/HSBToRGB.glsl +24 -0
  1398. package/Source/Shaders/Builtin/Functions/HSBToRGB.js +26 -0
  1399. package/Source/Shaders/Builtin/Functions/HSLToRGB.glsl +31 -0
  1400. package/Source/Shaders/Builtin/Functions/HSLToRGB.js +33 -0
  1401. package/Source/Shaders/Builtin/Functions/RGBToHSB.glsl +27 -0
  1402. package/Source/Shaders/Builtin/Functions/RGBToHSB.js +29 -0
  1403. package/Source/Shaders/Builtin/Functions/RGBToHSL.glsl +34 -0
  1404. package/Source/Shaders/Builtin/Functions/RGBToHSL.js +36 -0
  1405. package/Source/Shaders/Builtin/Functions/RGBToXYZ.glsl +30 -0
  1406. package/Source/Shaders/Builtin/Functions/RGBToXYZ.js +32 -0
  1407. package/Source/Shaders/Builtin/Functions/XYZToRGB.glsl +30 -0
  1408. package/Source/Shaders/Builtin/Functions/XYZToRGB.js +32 -0
  1409. package/Source/Shaders/Builtin/Functions/acesTonemapping.glsl +16 -0
  1410. package/Source/Shaders/Builtin/Functions/acesTonemapping.js +18 -0
  1411. package/Source/Shaders/Builtin/Functions/alphaWeight.glsl +11 -0
  1412. package/Source/Shaders/Builtin/Functions/alphaWeight.js +13 -0
  1413. package/Source/Shaders/Builtin/Functions/antialias.glsl +39 -0
  1414. package/Source/Shaders/Builtin/Functions/antialias.js +41 -0
  1415. package/Source/Shaders/Builtin/Functions/applyHSBShift.glsl +32 -0
  1416. package/Source/Shaders/Builtin/Functions/applyHSBShift.js +34 -0
  1417. package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.glsl +18 -0
  1418. package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.js +20 -0
  1419. package/Source/Shaders/Builtin/Functions/approximateTanh.glsl +10 -0
  1420. package/Source/Shaders/Builtin/Functions/approximateTanh.js +12 -0
  1421. package/Source/Shaders/Builtin/Functions/backFacing.glsl +13 -0
  1422. package/Source/Shaders/Builtin/Functions/backFacing.js +15 -0
  1423. package/Source/Shaders/Builtin/Functions/branchFreeTernary.glsl +71 -0
  1424. package/Source/Shaders/Builtin/Functions/branchFreeTernary.js +73 -0
  1425. package/Source/Shaders/Builtin/Functions/cascadeColor.glsl +8 -0
  1426. package/Source/Shaders/Builtin/Functions/cascadeColor.js +10 -0
  1427. package/Source/Shaders/Builtin/Functions/cascadeDistance.glsl +7 -0
  1428. package/Source/Shaders/Builtin/Functions/cascadeDistance.js +9 -0
  1429. package/Source/Shaders/Builtin/Functions/cascadeMatrix.glsl +10 -0
  1430. package/Source/Shaders/Builtin/Functions/cascadeMatrix.js +12 -0
  1431. package/Source/Shaders/Builtin/Functions/cascadeWeights.glsl +10 -0
  1432. package/Source/Shaders/Builtin/Functions/cascadeWeights.js +12 -0
  1433. package/Source/Shaders/Builtin/Functions/clipPolygons.glsl +37 -0
  1434. package/Source/Shaders/Builtin/Functions/clipPolygons.js +39 -0
  1435. package/Source/Shaders/Builtin/Functions/columbusViewMorph.glsl +19 -0
  1436. package/Source/Shaders/Builtin/Functions/columbusViewMorph.js +21 -0
  1437. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +88 -0
  1438. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +90 -0
  1439. package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.glsl +30 -0
  1440. package/Source/Shaders/Builtin/Functions/computeGroundAtmosphereScattering.js +32 -0
  1441. package/Source/Shaders/Builtin/Functions/computePosition.glsl +22 -0
  1442. package/Source/Shaders/Builtin/Functions/computePosition.js +24 -0
  1443. package/Source/Shaders/Builtin/Functions/computeScattering.glsl +149 -0
  1444. package/Source/Shaders/Builtin/Functions/computeScattering.js +151 -0
  1445. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  1446. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  1447. package/Source/Shaders/Builtin/Functions/cosineAndSine.glsl +211 -0
  1448. package/Source/Shaders/Builtin/Functions/cosineAndSine.js +213 -0
  1449. package/Source/Shaders/Builtin/Functions/decodeRGB8.glsl +22 -0
  1450. package/Source/Shaders/Builtin/Functions/decodeRGB8.js +24 -0
  1451. package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.glsl +17 -0
  1452. package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.js +19 -0
  1453. package/Source/Shaders/Builtin/Functions/depthClamp.glsl +47 -0
  1454. package/Source/Shaders/Builtin/Functions/depthClamp.js +49 -0
  1455. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.glsl +33 -0
  1456. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +35 -0
  1457. package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.glsl +12 -0
  1458. package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +14 -0
  1459. package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.glsl +10 -0
  1460. package/Source/Shaders/Builtin/Functions/ellipsoidTextureCoordinates.js +12 -0
  1461. package/Source/Shaders/Builtin/Functions/equalsEpsilon.glsl +36 -0
  1462. package/Source/Shaders/Builtin/Functions/equalsEpsilon.js +38 -0
  1463. package/Source/Shaders/Builtin/Functions/eyeOffset.glsl +20 -0
  1464. package/Source/Shaders/Builtin/Functions/eyeOffset.js +22 -0
  1465. package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.glsl +32 -0
  1466. package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +34 -0
  1467. package/Source/Shaders/Builtin/Functions/fastApproximateAtan.glsl +55 -0
  1468. package/Source/Shaders/Builtin/Functions/fastApproximateAtan.js +57 -0
  1469. package/Source/Shaders/Builtin/Functions/fog.glsl +38 -0
  1470. package/Source/Shaders/Builtin/Functions/fog.js +40 -0
  1471. package/Source/Shaders/Builtin/Functions/gammaCorrect.glsl +22 -0
  1472. package/Source/Shaders/Builtin/Functions/gammaCorrect.js +24 -0
  1473. package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.glsl +16 -0
  1474. package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +18 -0
  1475. package/Source/Shaders/Builtin/Functions/getDefaultMaterial.glsl +27 -0
  1476. package/Source/Shaders/Builtin/Functions/getDefaultMaterial.js +29 -0
  1477. package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.glsl +22 -0
  1478. package/Source/Shaders/Builtin/Functions/getDynamicAtmosphereLightDirection.js +24 -0
  1479. package/Source/Shaders/Builtin/Functions/getLambertDiffuse.glsl +22 -0
  1480. package/Source/Shaders/Builtin/Functions/getLambertDiffuse.js +24 -0
  1481. package/Source/Shaders/Builtin/Functions/getSpecular.glsl +29 -0
  1482. package/Source/Shaders/Builtin/Functions/getSpecular.js +31 -0
  1483. package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +37 -0
  1484. package/Source/Shaders/Builtin/Functions/getWaterNoise.js +39 -0
  1485. package/Source/Shaders/Builtin/Functions/hue.glsl +30 -0
  1486. package/Source/Shaders/Builtin/Functions/hue.js +32 -0
  1487. package/Source/Shaders/Builtin/Functions/inverseGamma.glsl +12 -0
  1488. package/Source/Shaders/Builtin/Functions/inverseGamma.js +14 -0
  1489. package/Source/Shaders/Builtin/Functions/isEmpty.glsl +19 -0
  1490. package/Source/Shaders/Builtin/Functions/isEmpty.js +21 -0
  1491. package/Source/Shaders/Builtin/Functions/isFull.glsl +19 -0
  1492. package/Source/Shaders/Builtin/Functions/isFull.js +21 -0
  1493. package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.glsl +21 -0
  1494. package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +23 -0
  1495. package/Source/Shaders/Builtin/Functions/lineDistance.glsl +14 -0
  1496. package/Source/Shaders/Builtin/Functions/lineDistance.js +16 -0
  1497. package/Source/Shaders/Builtin/Functions/linearToSrgb.glsl +16 -0
  1498. package/Source/Shaders/Builtin/Functions/linearToSrgb.js +18 -0
  1499. package/Source/Shaders/Builtin/Functions/luminance.glsl +20 -0
  1500. package/Source/Shaders/Builtin/Functions/luminance.js +22 -0
  1501. package/Source/Shaders/Builtin/Functions/maximumComponent.glsl +21 -0
  1502. package/Source/Shaders/Builtin/Functions/maximumComponent.js +23 -0
  1503. package/Source/Shaders/Builtin/Functions/metersPerPixel.glsl +61 -0
  1504. package/Source/Shaders/Builtin/Functions/metersPerPixel.js +63 -0
  1505. package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.glsl +38 -0
  1506. package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.js +40 -0
  1507. package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.glsl +18 -0
  1508. package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.js +20 -0
  1509. package/Source/Shaders/Builtin/Functions/nearFarScalar.glsl +26 -0
  1510. package/Source/Shaders/Builtin/Functions/nearFarScalar.js +28 -0
  1511. package/Source/Shaders/Builtin/Functions/octDecode.glsl +83 -0
  1512. package/Source/Shaders/Builtin/Functions/octDecode.js +85 -0
  1513. package/Source/Shaders/Builtin/Functions/packDepth.glsl +18 -0
  1514. package/Source/Shaders/Builtin/Functions/packDepth.js +20 -0
  1515. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +164 -0
  1516. package/Source/Shaders/Builtin/Functions/pbrLighting.js +166 -0
  1517. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  1518. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  1519. package/Source/Shaders/Builtin/Functions/phong.glsl +63 -0
  1520. package/Source/Shaders/Builtin/Functions/phong.js +65 -0
  1521. package/Source/Shaders/Builtin/Functions/planeDistance.glsl +28 -0
  1522. package/Source/Shaders/Builtin/Functions/planeDistance.js +30 -0
  1523. package/Source/Shaders/Builtin/Functions/pointAlongRay.glsl +19 -0
  1524. package/Source/Shaders/Builtin/Functions/pointAlongRay.js +21 -0
  1525. package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.glsl +83 -0
  1526. package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +85 -0
  1527. package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.glsl +36 -0
  1528. package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.js +38 -0
  1529. package/Source/Shaders/Builtin/Functions/readDepth.glsl +4 -0
  1530. package/Source/Shaders/Builtin/Functions/readDepth.js +6 -0
  1531. package/Source/Shaders/Builtin/Functions/readNonPerspective.glsl +31 -0
  1532. package/Source/Shaders/Builtin/Functions/readNonPerspective.js +33 -0
  1533. package/Source/Shaders/Builtin/Functions/reverseLogDepth.glsl +11 -0
  1534. package/Source/Shaders/Builtin/Functions/reverseLogDepth.js +13 -0
  1535. package/Source/Shaders/Builtin/Functions/round.glsl +22 -0
  1536. package/Source/Shaders/Builtin/Functions/round.js +24 -0
  1537. package/Source/Shaders/Builtin/Functions/saturation.glsl +22 -0
  1538. package/Source/Shaders/Builtin/Functions/saturation.js +24 -0
  1539. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +24 -0
  1540. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +26 -0
  1541. package/Source/Shaders/Builtin/Functions/shadowVisibility.glsl +66 -0
  1542. package/Source/Shaders/Builtin/Functions/shadowVisibility.js +68 -0
  1543. package/Source/Shaders/Builtin/Functions/signNotZero.glsl +29 -0
  1544. package/Source/Shaders/Builtin/Functions/signNotZero.js +31 -0
  1545. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +44 -0
  1546. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +46 -0
  1547. package/Source/Shaders/Builtin/Functions/srgbToLinear.glsl +16 -0
  1548. package/Source/Shaders/Builtin/Functions/srgbToLinear.js +18 -0
  1549. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +25 -0
  1550. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +27 -0
  1551. package/Source/Shaders/Builtin/Functions/textureCube.glsl +36 -0
  1552. package/Source/Shaders/Builtin/Functions/textureCube.js +37 -0
  1553. package/Source/Shaders/Builtin/Functions/transformPlane.glsl +15 -0
  1554. package/Source/Shaders/Builtin/Functions/transformPlane.js +17 -0
  1555. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +45 -0
  1556. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +47 -0
  1557. package/Source/Shaders/Builtin/Functions/translucentPhong.glsl +27 -0
  1558. package/Source/Shaders/Builtin/Functions/translucentPhong.js +29 -0
  1559. package/Source/Shaders/Builtin/Functions/transpose.glsl +45 -0
  1560. package/Source/Shaders/Builtin/Functions/transpose.js +47 -0
  1561. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.glsl +14 -0
  1562. package/Source/Shaders/Builtin/Functions/unpackClippingExtents.js +15 -0
  1563. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +16 -0
  1564. package/Source/Shaders/Builtin/Functions/unpackDepth.js +18 -0
  1565. package/Source/Shaders/Builtin/Functions/unpackFloat.glsl +24 -0
  1566. package/Source/Shaders/Builtin/Functions/unpackFloat.js +26 -0
  1567. package/Source/Shaders/Builtin/Functions/unpackTexture.glsl +35 -0
  1568. package/Source/Shaders/Builtin/Functions/unpackTexture.js +37 -0
  1569. package/Source/Shaders/Builtin/Functions/unpackUint.glsl +31 -0
  1570. package/Source/Shaders/Builtin/Functions/unpackUint.js +33 -0
  1571. package/Source/Shaders/Builtin/Functions/valueTransform.glsl +38 -0
  1572. package/Source/Shaders/Builtin/Functions/valueTransform.js +40 -0
  1573. package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +64 -0
  1574. package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +66 -0
  1575. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +110 -0
  1576. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +112 -0
  1577. package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +24 -0
  1578. package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +26 -0
  1579. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +79 -0
  1580. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +81 -0
  1581. package/Source/Shaders/Builtin/Functions/writeNonPerspective.glsl +32 -0
  1582. package/Source/Shaders/Builtin/Functions/writeNonPerspective.js +34 -0
  1583. package/Source/Shaders/Builtin/Structs/depthRangeStruct.glsl +9 -0
  1584. package/Source/Shaders/Builtin/Structs/depthRangeStruct.js +11 -0
  1585. package/Source/Shaders/Builtin/Structs/material.glsl +22 -0
  1586. package/Source/Shaders/Builtin/Structs/material.js +24 -0
  1587. package/Source/Shaders/Builtin/Structs/materialInput.glsl +30 -0
  1588. package/Source/Shaders/Builtin/Structs/materialInput.js +32 -0
  1589. package/Source/Shaders/Builtin/Structs/modelMaterial.glsl +45 -0
  1590. package/Source/Shaders/Builtin/Structs/modelMaterial.js +47 -0
  1591. package/Source/Shaders/Builtin/Structs/modelVertexOutput.glsl +16 -0
  1592. package/Source/Shaders/Builtin/Structs/modelVertexOutput.js +18 -0
  1593. package/Source/Shaders/Builtin/Structs/ray.glsl +11 -0
  1594. package/Source/Shaders/Builtin/Structs/ray.js +13 -0
  1595. package/Source/Shaders/Builtin/Structs/raySegment.glsl +27 -0
  1596. package/Source/Shaders/Builtin/Structs/raySegment.js +29 -0
  1597. package/Source/Shaders/Builtin/Structs/shadowParameters.glsl +15 -0
  1598. package/Source/Shaders/Builtin/Structs/shadowParameters.js +17 -0
  1599. package/Source/Shaders/CloudCollectionFS.glsl +263 -0
  1600. package/Source/Shaders/CloudCollectionFS.js +265 -0
  1601. package/Source/Shaders/CloudCollectionVS.glsl +48 -0
  1602. package/Source/Shaders/CloudCollectionVS.js +50 -0
  1603. package/Source/Shaders/CloudNoiseFS.glsl +92 -0
  1604. package/Source/Shaders/CloudNoiseFS.js +94 -0
  1605. package/Source/Shaders/CloudNoiseVS.glsl +18 -0
  1606. package/Source/Shaders/CloudNoiseVS.js +20 -0
  1607. package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +12 -0
  1608. package/Source/Shaders/CompareAndPackTranslucentDepth.js +14 -0
  1609. package/Source/Shaders/CompositeOITFS.glsl +31 -0
  1610. package/Source/Shaders/CompositeOITFS.js +33 -0
  1611. package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
  1612. package/Source/Shaders/ComputeIrradianceFS.js +105 -0
  1613. package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
  1614. package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
  1615. package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
  1616. package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
  1617. package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
  1618. package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
  1619. package/Source/Shaders/CubeMapPanoramaVS.glsl +11 -0
  1620. package/Source/Shaders/CubeMapPanoramaVS.js +13 -0
  1621. package/Source/Shaders/DepthPlaneFS.glsl +36 -0
  1622. package/Source/Shaders/DepthPlaneFS.js +38 -0
  1623. package/Source/Shaders/DepthPlaneVS.glsl +11 -0
  1624. package/Source/Shaders/DepthPlaneVS.js +13 -0
  1625. package/Source/Shaders/EllipsoidFS.glsl +104 -0
  1626. package/Source/Shaders/EllipsoidFS.js +106 -0
  1627. package/Source/Shaders/EllipsoidVS.glsl +28 -0
  1628. package/Source/Shaders/EllipsoidVS.js +30 -0
  1629. package/Source/Shaders/FXAA3_11.glsl +650 -0
  1630. package/Source/Shaders/FXAA3_11.js +680 -0
  1631. package/Source/Shaders/GlobeFS.glsl +692 -0
  1632. package/Source/Shaders/GlobeFS.js +694 -0
  1633. package/Source/Shaders/GlobeVS.glsl +286 -0
  1634. package/Source/Shaders/GlobeVS.js +288 -0
  1635. package/Source/Shaders/GroundAtmosphere.glsl +18 -0
  1636. package/Source/Shaders/GroundAtmosphere.js +20 -0
  1637. package/Source/Shaders/Materials/AspectRampMaterial.glsl +11 -0
  1638. package/Source/Shaders/Materials/AspectRampMaterial.js +13 -0
  1639. package/Source/Shaders/Materials/BumpMapMaterial.glsl +29 -0
  1640. package/Source/Shaders/Materials/BumpMapMaterial.js +31 -0
  1641. package/Source/Shaders/Materials/CheckerboardMaterial.glsl +29 -0
  1642. package/Source/Shaders/Materials/CheckerboardMaterial.js +31 -0
  1643. package/Source/Shaders/Materials/DotMaterial.glsl +18 -0
  1644. package/Source/Shaders/Materials/DotMaterial.js +20 -0
  1645. package/Source/Shaders/Materials/ElevationBandMaterial.glsl +74 -0
  1646. package/Source/Shaders/Materials/ElevationBandMaterial.js +76 -0
  1647. package/Source/Shaders/Materials/ElevationContourMaterial.glsl +26 -0
  1648. package/Source/Shaders/Materials/ElevationContourMaterial.js +28 -0
  1649. package/Source/Shaders/Materials/ElevationRampMaterial.glsl +14 -0
  1650. package/Source/Shaders/Materials/ElevationRampMaterial.js +16 -0
  1651. package/Source/Shaders/Materials/FadeMaterial.glsl +37 -0
  1652. package/Source/Shaders/Materials/FadeMaterial.js +39 -0
  1653. package/Source/Shaders/Materials/GridMaterial.glsl +57 -0
  1654. package/Source/Shaders/Materials/GridMaterial.js +59 -0
  1655. package/Source/Shaders/Materials/NormalMapMaterial.glsl +19 -0
  1656. package/Source/Shaders/Materials/NormalMapMaterial.js +21 -0
  1657. package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +63 -0
  1658. package/Source/Shaders/Materials/PolylineArrowMaterial.js +65 -0
  1659. package/Source/Shaders/Materials/PolylineDashMaterial.glsl +39 -0
  1660. package/Source/Shaders/Materials/PolylineDashMaterial.js +41 -0
  1661. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +25 -0
  1662. package/Source/Shaders/Materials/PolylineGlowMaterial.js +27 -0
  1663. package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +29 -0
  1664. package/Source/Shaders/Materials/PolylineOutlineMaterial.js +31 -0
  1665. package/Source/Shaders/Materials/RimLightingMaterial.glsl +21 -0
  1666. package/Source/Shaders/Materials/RimLightingMaterial.js +23 -0
  1667. package/Source/Shaders/Materials/SlopeRampMaterial.glsl +11 -0
  1668. package/Source/Shaders/Materials/SlopeRampMaterial.js +13 -0
  1669. package/Source/Shaders/Materials/StripeMaterial.glsl +24 -0
  1670. package/Source/Shaders/Materials/StripeMaterial.js +26 -0
  1671. package/Source/Shaders/Materials/Water.glsl +58 -0
  1672. package/Source/Shaders/Materials/Water.js +60 -0
  1673. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  1674. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  1675. package/Source/Shaders/Model/AtmosphereStageFS.glsl +108 -0
  1676. package/Source/Shaders/Model/AtmosphereStageFS.js +110 -0
  1677. package/Source/Shaders/Model/AtmosphereStageVS.glsl +12 -0
  1678. package/Source/Shaders/Model/AtmosphereStageVS.js +14 -0
  1679. package/Source/Shaders/Model/CPUStylingStageFS.glsl +49 -0
  1680. package/Source/Shaders/Model/CPUStylingStageFS.js +51 -0
  1681. package/Source/Shaders/Model/CPUStylingStageVS.glsl +30 -0
  1682. package/Source/Shaders/Model/CPUStylingStageVS.js +32 -0
  1683. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  1684. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  1685. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  1686. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  1687. package/Source/Shaders/Model/CustomShaderStageFS.glsl +18 -0
  1688. package/Source/Shaders/Model/CustomShaderStageFS.js +20 -0
  1689. package/Source/Shaders/Model/CustomShaderStageVS.glsl +19 -0
  1690. package/Source/Shaders/Model/CustomShaderStageVS.js +21 -0
  1691. package/Source/Shaders/Model/EdgeDetectionStageFS.glsl +58 -0
  1692. package/Source/Shaders/Model/EdgeDetectionStageFS.js +60 -0
  1693. package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +69 -0
  1694. package/Source/Shaders/Model/EdgeVisibilityStageFS.js +70 -0
  1695. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +98 -0
  1696. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +100 -0
  1697. package/Source/Shaders/Model/FeatureIdStageFS.glsl +4 -0
  1698. package/Source/Shaders/Model/FeatureIdStageFS.js +6 -0
  1699. package/Source/Shaders/Model/FeatureIdStageVS.glsl +6 -0
  1700. package/Source/Shaders/Model/FeatureIdStageVS.js +8 -0
  1701. package/Source/Shaders/Model/GeometryStageFS.glsl +25 -0
  1702. package/Source/Shaders/Model/GeometryStageFS.js +27 -0
  1703. package/Source/Shaders/Model/GeometryStageVS.glsl +42 -0
  1704. package/Source/Shaders/Model/GeometryStageVS.js +44 -0
  1705. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +101 -0
  1706. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +103 -0
  1707. package/Source/Shaders/Model/InstancingStageCommon.glsl +67 -0
  1708. package/Source/Shaders/Model/InstancingStageCommon.js +69 -0
  1709. package/Source/Shaders/Model/InstancingStageVS.glsl +18 -0
  1710. package/Source/Shaders/Model/InstancingStageVS.js +20 -0
  1711. package/Source/Shaders/Model/LegacyInstancingStageVS.glsl +20 -0
  1712. package/Source/Shaders/Model/LegacyInstancingStageVS.js +22 -0
  1713. package/Source/Shaders/Model/LightingStageFS.glsl +120 -0
  1714. package/Source/Shaders/Model/LightingStageFS.js +122 -0
  1715. package/Source/Shaders/Model/MaterialStageFS.glsl +523 -0
  1716. package/Source/Shaders/Model/MaterialStageFS.js +525 -0
  1717. package/Source/Shaders/Model/MetadataStageFS.glsl +10 -0
  1718. package/Source/Shaders/Model/MetadataStageFS.js +12 -0
  1719. package/Source/Shaders/Model/MetadataStageVS.glsl +11 -0
  1720. package/Source/Shaders/Model/MetadataStageVS.js +13 -0
  1721. package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +88 -0
  1722. package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +90 -0
  1723. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.glsl +6 -0
  1724. package/Source/Shaders/Model/ModelClippingPolygonsStageFS.js +8 -0
  1725. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.glsl +27 -0
  1726. package/Source/Shaders/Model/ModelClippingPolygonsStageVS.js +29 -0
  1727. package/Source/Shaders/Model/ModelColorStageFS.glsl +7 -0
  1728. package/Source/Shaders/Model/ModelColorStageFS.js +9 -0
  1729. package/Source/Shaders/Model/ModelFS.glsl +156 -0
  1730. package/Source/Shaders/Model/ModelFS.js +158 -0
  1731. package/Source/Shaders/Model/ModelSilhouetteStageFS.glsl +5 -0
  1732. package/Source/Shaders/Model/ModelSilhouetteStageFS.js +6 -0
  1733. package/Source/Shaders/Model/ModelSilhouetteStageVS.glsl +10 -0
  1734. package/Source/Shaders/Model/ModelSilhouetteStageVS.js +12 -0
  1735. package/Source/Shaders/Model/ModelSplitterStageFS.glsl +9 -0
  1736. package/Source/Shaders/Model/ModelSplitterStageFS.js +11 -0
  1737. package/Source/Shaders/Model/ModelVS.glsl +171 -0
  1738. package/Source/Shaders/Model/ModelVS.js +173 -0
  1739. package/Source/Shaders/Model/MorphTargetsStageVS.glsl +15 -0
  1740. package/Source/Shaders/Model/MorphTargetsStageVS.js +16 -0
  1741. package/Source/Shaders/Model/PointCloudStylingStageVS.glsl +45 -0
  1742. package/Source/Shaders/Model/PointCloudStylingStageVS.js +47 -0
  1743. package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +15 -0
  1744. package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +17 -0
  1745. package/Source/Shaders/Model/PrimitiveOutlineStageVS.glsl +3 -0
  1746. package/Source/Shaders/Model/PrimitiveOutlineStageVS.js +5 -0
  1747. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +51 -0
  1748. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +53 -0
  1749. package/Source/Shaders/Model/SkinningStageVS.glsl +18 -0
  1750. package/Source/Shaders/Model/SkinningStageVS.js +19 -0
  1751. package/Source/Shaders/Model/VerticalExaggerationStageVS.glsl +39 -0
  1752. package/Source/Shaders/Model/VerticalExaggerationStageVS.js +41 -0
  1753. package/Source/Shaders/PointPrimitiveCollectionFS.glsl +47 -0
  1754. package/Source/Shaders/PointPrimitiveCollectionFS.js +49 -0
  1755. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +154 -0
  1756. package/Source/Shaders/PointPrimitiveCollectionVS.js +156 -0
  1757. package/Source/Shaders/PolygonSignedDistanceFS.glsl +131 -0
  1758. package/Source/Shaders/PolygonSignedDistanceFS.js +132 -0
  1759. package/Source/Shaders/PolylineCommon.glsl +176 -0
  1760. package/Source/Shaders/PolylineCommon.js +178 -0
  1761. package/Source/Shaders/PolylineFS.glsl +25 -0
  1762. package/Source/Shaders/PolylineFS.js +27 -0
  1763. package/Source/Shaders/PolylineShadowVolumeFS.glsl +86 -0
  1764. package/Source/Shaders/PolylineShadowVolumeFS.js +88 -0
  1765. package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +45 -0
  1766. package/Source/Shaders/PolylineShadowVolumeMorphFS.js +47 -0
  1767. package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +177 -0
  1768. package/Source/Shaders/PolylineShadowVolumeMorphVS.js +179 -0
  1769. package/Source/Shaders/PolylineShadowVolumeVS.glsl +168 -0
  1770. package/Source/Shaders/PolylineShadowVolumeVS.js +170 -0
  1771. package/Source/Shaders/PolylineVS.glsl +103 -0
  1772. package/Source/Shaders/PolylineVS.js +105 -0
  1773. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +25 -0
  1774. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +27 -0
  1775. package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +17 -0
  1776. package/Source/Shaders/PostProcessStages/AdditiveBlend.js +19 -0
  1777. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +144 -0
  1778. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +146 -0
  1779. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +11 -0
  1780. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +13 -0
  1781. package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +19 -0
  1782. package/Source/Shaders/PostProcessStages/BlackAndWhite.js +21 -0
  1783. package/Source/Shaders/PostProcessStages/BloomComposite.glsl +20 -0
  1784. package/Source/Shaders/PostProcessStages/BloomComposite.js +22 -0
  1785. package/Source/Shaders/PostProcessStages/BrightPass.glsl +30 -0
  1786. package/Source/Shaders/PostProcessStages/BrightPass.js +32 -0
  1787. package/Source/Shaders/PostProcessStages/Brightness.glsl +11 -0
  1788. package/Source/Shaders/PostProcessStages/Brightness.js +13 -0
  1789. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +31 -0
  1790. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +33 -0
  1791. package/Source/Shaders/PostProcessStages/ContrastBias.glsl +17 -0
  1792. package/Source/Shaders/PostProcessStages/ContrastBias.js +19 -0
  1793. package/Source/Shaders/PostProcessStages/DepthOfField.glsl +39 -0
  1794. package/Source/Shaders/PostProcessStages/DepthOfField.js +41 -0
  1795. package/Source/Shaders/PostProcessStages/DepthView.glsl +9 -0
  1796. package/Source/Shaders/PostProcessStages/DepthView.js +11 -0
  1797. package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +14 -0
  1798. package/Source/Shaders/PostProcessStages/DepthViewPacked.js +16 -0
  1799. package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +60 -0
  1800. package/Source/Shaders/PostProcessStages/EdgeDetection.js +62 -0
  1801. package/Source/Shaders/PostProcessStages/FXAA.glsl +21 -0
  1802. package/Source/Shaders/PostProcessStages/FXAA.js +23 -0
  1803. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +40 -0
  1804. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +42 -0
  1805. package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +47 -0
  1806. package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +49 -0
  1807. package/Source/Shaders/PostProcessStages/LensFlare.glsl +153 -0
  1808. package/Source/Shaders/PostProcessStages/LensFlare.js +155 -0
  1809. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +28 -0
  1810. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +30 -0
  1811. package/Source/Shaders/PostProcessStages/NightVision.glsl +16 -0
  1812. package/Source/Shaders/PostProcessStages/NightVision.js +18 -0
  1813. package/Source/Shaders/PostProcessStages/PassThrough.glsl +8 -0
  1814. package/Source/Shaders/PostProcessStages/PassThrough.js +10 -0
  1815. package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +8 -0
  1816. package/Source/Shaders/PostProcessStages/PassThroughDepth.js +10 -0
  1817. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  1818. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  1819. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +61 -0
  1820. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +63 -0
  1821. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +27 -0
  1822. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +29 -0
  1823. package/Source/Shaders/PostProcessStages/Silhouette.glsl +11 -0
  1824. package/Source/Shaders/PostProcessStages/Silhouette.js +13 -0
  1825. package/Source/Shaders/PrimitiveGaussianSplatFS.glsl +18 -0
  1826. package/Source/Shaders/PrimitiveGaussianSplatFS.js +20 -0
  1827. package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +196 -0
  1828. package/Source/Shaders/PrimitiveGaussianSplatVS.js +197 -0
  1829. package/Source/Shaders/ReprojectWebMercatorFS.glsl +8 -0
  1830. package/Source/Shaders/ReprojectWebMercatorFS.js +10 -0
  1831. package/Source/Shaders/ReprojectWebMercatorVS.glsl +12 -0
  1832. package/Source/Shaders/ReprojectWebMercatorVS.js +14 -0
  1833. package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +153 -0
  1834. package/Source/Shaders/ShadowVolumeAppearanceFS.js +155 -0
  1835. package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +101 -0
  1836. package/Source/Shaders/ShadowVolumeAppearanceVS.js +103 -0
  1837. package/Source/Shaders/ShadowVolumeFS.glsl +13 -0
  1838. package/Source/Shaders/ShadowVolumeFS.js +15 -0
  1839. package/Source/Shaders/SkyAtmosphereCommon.glsl +81 -0
  1840. package/Source/Shaders/SkyAtmosphereCommon.js +83 -0
  1841. package/Source/Shaders/SkyAtmosphereFS.glsl +59 -0
  1842. package/Source/Shaders/SkyAtmosphereFS.js +61 -0
  1843. package/Source/Shaders/SkyAtmosphereVS.glsl +32 -0
  1844. package/Source/Shaders/SkyAtmosphereVS.js +34 -0
  1845. package/Source/Shaders/SkyBoxFS.glsl +9 -0
  1846. package/Source/Shaders/SkyBoxFS.js +11 -0
  1847. package/Source/Shaders/SkyBoxVS.glsl +9 -0
  1848. package/Source/Shaders/SkyBoxVS.js +11 -0
  1849. package/Source/Shaders/SunFS.glsl +9 -0
  1850. package/Source/Shaders/SunFS.js +11 -0
  1851. package/Source/Shaders/SunTextureFS.glsl +55 -0
  1852. package/Source/Shaders/SunTextureFS.js +57 -0
  1853. package/Source/Shaders/SunVS.glsl +28 -0
  1854. package/Source/Shaders/SunVS.js +30 -0
  1855. package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +48 -0
  1856. package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +50 -0
  1857. package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +85 -0
  1858. package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +87 -0
  1859. package/Source/Shaders/Vector3DTilePolylinesVS.glsl +22 -0
  1860. package/Source/Shaders/Vector3DTilePolylinesVS.js +24 -0
  1861. package/Source/Shaders/VectorTileVS.glsl +9 -0
  1862. package/Source/Shaders/VectorTileVS.js +11 -0
  1863. package/Source/Shaders/ViewportQuadFS.glsl +16 -0
  1864. package/Source/Shaders/ViewportQuadFS.js +18 -0
  1865. package/Source/Shaders/ViewportQuadVS.glsl +10 -0
  1866. package/Source/Shaders/ViewportQuadVS.js +12 -0
  1867. package/Source/Shaders/Voxels/IntersectBox.glsl +34 -0
  1868. package/Source/Shaders/Voxels/IntersectBox.js +36 -0
  1869. package/Source/Shaders/Voxels/IntersectCylinder.glsl +142 -0
  1870. package/Source/Shaders/Voxels/IntersectCylinder.js +144 -0
  1871. package/Source/Shaders/Voxels/IntersectDepth.glsl +27 -0
  1872. package/Source/Shaders/Voxels/IntersectDepth.js +29 -0
  1873. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +330 -0
  1874. package/Source/Shaders/Voxels/IntersectEllipsoid.js +332 -0
  1875. package/Source/Shaders/Voxels/IntersectLongitude.glsl +114 -0
  1876. package/Source/Shaders/Voxels/IntersectLongitude.js +116 -0
  1877. package/Source/Shaders/Voxels/IntersectPlane.glsl +80 -0
  1878. package/Source/Shaders/Voxels/IntersectPlane.js +82 -0
  1879. package/Source/Shaders/Voxels/Intersection.glsl +50 -0
  1880. package/Source/Shaders/Voxels/Intersection.js +52 -0
  1881. package/Source/Shaders/Voxels/IntersectionUtils.glsl +167 -0
  1882. package/Source/Shaders/Voxels/IntersectionUtils.js +169 -0
  1883. package/Source/Shaders/Voxels/Megatexture.glsl +55 -0
  1884. package/Source/Shaders/Voxels/Megatexture.js +57 -0
  1885. package/Source/Shaders/Voxels/Octree.glsl +254 -0
  1886. package/Source/Shaders/Voxels/Octree.js +256 -0
  1887. package/Source/Shaders/Voxels/VoxelFS.glsl +267 -0
  1888. package/Source/Shaders/Voxels/VoxelFS.js +269 -0
  1889. package/Source/Shaders/Voxels/VoxelUtils.glsl +12 -0
  1890. package/Source/Shaders/Voxels/VoxelUtils.js +14 -0
  1891. package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
  1892. package/Source/Shaders/Voxels/VoxelVS.js +13 -0
  1893. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +29 -0
  1894. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +31 -0
  1895. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +95 -0
  1896. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +97 -0
  1897. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +183 -0
  1898. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +185 -0
  1899. package/Source/ThirdParty/Workers/basis_transcoder.js +21 -0
  1900. package/Source/ThirdParty/Workers/package.json +1 -0
  1901. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -0
  1902. package/Source/ThirdParty/basis_transcoder.wasm +0 -0
  1903. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  1904. package/Source/ThirdParty/google-earth-dbroot-parser.js +8337 -0
  1905. package/Source/ThirdParty/wasm_splats_bg.wasm +0 -0
  1906. package/Source/ThirdParty/zip-module.wasm +0 -0
  1907. package/Source/Widget/CesiumWidget.css +119 -0
  1908. package/Source/Widget/CesiumWidget.js +1613 -0
  1909. package/Source/Widget/lighter.css +14 -0
  1910. package/Source/Workers/combineGeometry.js +13 -0
  1911. package/Source/Workers/createBoxGeometry.js +10 -0
  1912. package/Source/Workers/createBoxOutlineGeometry.js +10 -0
  1913. package/Source/Workers/createCircleGeometry.js +18 -0
  1914. package/Source/Workers/createCircleOutlineGeometry.js +18 -0
  1915. package/Source/Workers/createCoplanarPolygonGeometry.js +10 -0
  1916. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +15 -0
  1917. package/Source/Workers/createCorridorGeometry.js +12 -0
  1918. package/Source/Workers/createCorridorOutlineGeometry.js +17 -0
  1919. package/Source/Workers/createCylinderGeometry.js +10 -0
  1920. package/Source/Workers/createCylinderOutlineGeometry.js +10 -0
  1921. package/Source/Workers/createEllipseGeometry.js +14 -0
  1922. package/Source/Workers/createEllipseOutlineGeometry.js +14 -0
  1923. package/Source/Workers/createEllipsoidGeometry.js +10 -0
  1924. package/Source/Workers/createEllipsoidOutlineGeometry.js +13 -0
  1925. package/Source/Workers/createFrustumGeometry.js +10 -0
  1926. package/Source/Workers/createFrustumOutlineGeometry.js +10 -0
  1927. package/Source/Workers/createGeometry.js +78 -0
  1928. package/Source/Workers/createGroundPolylineGeometry.js +16 -0
  1929. package/Source/Workers/createPlaneGeometry.js +10 -0
  1930. package/Source/Workers/createPlaneOutlineGeometry.js +10 -0
  1931. package/Source/Workers/createPolygonGeometry.js +12 -0
  1932. package/Source/Workers/createPolygonOutlineGeometry.js +12 -0
  1933. package/Source/Workers/createPolylineGeometry.js +12 -0
  1934. package/Source/Workers/createPolylineVolumeGeometry.js +17 -0
  1935. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +22 -0
  1936. package/Source/Workers/createRectangleGeometry.js +14 -0
  1937. package/Source/Workers/createRectangleOutlineGeometry.js +17 -0
  1938. package/Source/Workers/createSimplePolylineGeometry.js +17 -0
  1939. package/Source/Workers/createSphereGeometry.js +10 -0
  1940. package/Source/Workers/createSphereOutlineGeometry.js +10 -0
  1941. package/Source/Workers/createTaskProcessorWorker.js +113 -0
  1942. package/Source/Workers/createVectorTileClampedPolylines.js +541 -0
  1943. package/Source/Workers/createVectorTileGeometries.js +414 -0
  1944. package/Source/Workers/createVectorTilePoints.js +81 -0
  1945. package/Source/Workers/createVectorTilePolygons.js +412 -0
  1946. package/Source/Workers/createVectorTilePolylines.js +210 -0
  1947. package/Source/Workers/createVerticesFromCesium3DTilesTerrain.js +46 -0
  1948. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +651 -0
  1949. package/Source/Workers/createVerticesFromHeightmap.js +53 -0
  1950. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +549 -0
  1951. package/Source/Workers/createWallGeometry.js +12 -0
  1952. package/Source/Workers/createWallOutlineGeometry.js +12 -0
  1953. package/Source/Workers/decodeDraco.js +386 -0
  1954. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +268 -0
  1955. package/Source/Workers/decodeI3S.js +1655 -0
  1956. package/Source/Workers/gaussianSplatSorter.js +34 -0
  1957. package/Source/Workers/gaussianSplatTextureGenerator.js +39 -0
  1958. package/Source/Workers/incrementallyBuildTerrainPicker.js +122 -0
  1959. package/Source/Workers/transcodeKTX2.js +308 -0
  1960. package/Source/Workers/transferTypedArrayTest.js +16 -0
  1961. package/Source/Workers/upsampleQuantizedTerrainMesh.js +681 -0
  1962. package/Source/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +55 -0
  1963. package/index.js +1263 -0
  1964. package/package.json +83 -0
@@ -0,0 +1,1906 @@
1
+ // @ts-check
2
+
3
+ import Cartesian3 from "./Cartesian3.js";
4
+ import Check from "./Check.js";
5
+ import defined from "./defined.js";
6
+ import DeveloperError from "./DeveloperError.js";
7
+ import CesiumMath from "./Math.js";
8
+
9
+ /** @import Quaternion from "./Quaternion.js"; */
10
+ /** @import HeadingPitchRoll from "./HeadingPitchRoll.js"; */
11
+
12
+ /**
13
+ * @typedef {object} EigenDecompositionResult
14
+ * @property {Matrix3} [unitary]
15
+ * @property {Matrix3} [diagonal]
16
+ */
17
+
18
+ /**
19
+ * A 3x3 matrix, indexable as a column-major order array.
20
+ * Constructor parameters are in row-major order for code readability.
21
+ *
22
+ * @implements {ArrayLike<number>}
23
+ *
24
+ * @see Matrix3.fromArray
25
+ * @see Matrix3.fromColumnMajorArray
26
+ * @see Matrix3.fromRowMajorArray
27
+ * @see Matrix3.fromQuaternion
28
+ * @see Matrix3.fromHeadingPitchRoll
29
+ * @see Matrix3.fromScale
30
+ * @see Matrix3.fromUniformScale
31
+ * @see Matrix3.fromCrossProduct
32
+ * @see Matrix3.fromRotationX
33
+ * @see Matrix3.fromRotationY
34
+ * @see Matrix3.fromRotationZ
35
+ * @see Matrix2
36
+ * @see Matrix4
37
+ */
38
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
39
+ class Matrix3 {
40
+ /**
41
+ * @param {number} [column0Row0=0.0] The value for column 0, row 0.
42
+ * @param {number} [column1Row0=0.0] The value for column 1, row 0.
43
+ * @param {number} [column2Row0=0.0] The value for column 2, row 0.
44
+ * @param {number} [column0Row1=0.0] The value for column 0, row 1.
45
+ * @param {number} [column1Row1=0.0] The value for column 1, row 1.
46
+ * @param {number} [column2Row1=0.0] The value for column 2, row 1.
47
+ * @param {number} [column0Row2=0.0] The value for column 0, row 2.
48
+ * @param {number} [column1Row2=0.0] The value for column 1, row 2.
49
+ * @param {number} [column2Row2=0.0] The value for column 2, row 2.
50
+ */
51
+ constructor(
52
+ column0Row0,
53
+ column1Row0,
54
+ column2Row0,
55
+ column0Row1,
56
+ column1Row1,
57
+ column2Row1,
58
+ column0Row2,
59
+ column1Row2,
60
+ column2Row2,
61
+ ) {
62
+ this[0] = column0Row0 ?? 0.0;
63
+ this[1] = column0Row1 ?? 0.0;
64
+ this[2] = column0Row2 ?? 0.0;
65
+ this[3] = column1Row0 ?? 0.0;
66
+ this[4] = column1Row1 ?? 0.0;
67
+ this[5] = column1Row2 ?? 0.0;
68
+ this[6] = column2Row0 ?? 0.0;
69
+ this[7] = column2Row1 ?? 0.0;
70
+ this[8] = column2Row2 ?? 0.0;
71
+ }
72
+
73
+ /**
74
+ * Stores the provided instance into the provided array.
75
+ *
76
+ * @param {Matrix3} value The value to pack.
77
+ * @param {number[]} array The array to pack into.
78
+ * @param {number} [startingIndex=0] The index into the array at which to start packing the elements.
79
+ *
80
+ * @returns {number[]} The array that was packed into
81
+ */
82
+ static pack(value, array, startingIndex) {
83
+ //>>includeStart('debug', pragmas.debug);
84
+ Check.typeOf.object("value", value);
85
+ Check.defined("array", array);
86
+ //>>includeEnd('debug');
87
+
88
+ startingIndex = startingIndex ?? 0;
89
+
90
+ array[startingIndex++] = value[0];
91
+ array[startingIndex++] = value[1];
92
+ array[startingIndex++] = value[2];
93
+ array[startingIndex++] = value[3];
94
+ array[startingIndex++] = value[4];
95
+ array[startingIndex++] = value[5];
96
+ array[startingIndex++] = value[6];
97
+ array[startingIndex++] = value[7];
98
+ array[startingIndex++] = value[8];
99
+
100
+ return array;
101
+ }
102
+
103
+ /**
104
+ * Retrieves an instance from a packed array.
105
+ *
106
+ * @param {number[]} array The packed array.
107
+ * @param {number} [startingIndex=0] The starting index of the element to be unpacked.
108
+ * @param {Matrix3} [result] The object into which to store the result.
109
+ * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if one was not provided.
110
+ */
111
+ static unpack(array, startingIndex, result) {
112
+ //>>includeStart('debug', pragmas.debug);
113
+ Check.defined("array", array);
114
+ //>>includeEnd('debug');
115
+
116
+ startingIndex = startingIndex ?? 0;
117
+
118
+ if (!defined(result)) {
119
+ result = new Matrix3();
120
+ }
121
+
122
+ result[0] = array[startingIndex++];
123
+ result[1] = array[startingIndex++];
124
+ result[2] = array[startingIndex++];
125
+ result[3] = array[startingIndex++];
126
+ result[4] = array[startingIndex++];
127
+ result[5] = array[startingIndex++];
128
+ result[6] = array[startingIndex++];
129
+ result[7] = array[startingIndex++];
130
+ result[8] = array[startingIndex++];
131
+ return result;
132
+ }
133
+
134
+ /**
135
+ * Flattens an array of Matrix3s into an array of components. The components
136
+ * are stored in column-major order.
137
+ *
138
+ * @param {Matrix3[]} array The array of matrices to pack.
139
+ * @param {number[]} [result] The array onto which to store the result. If this is a typed array, it must have array.length * 9 components, else a {@link DeveloperError} will be thrown. If it is a regular array, it will be resized to have (array.length * 9) elements.
140
+ * @returns {number[]} The packed array.
141
+ */
142
+ static packArray(array, result) {
143
+ //>>includeStart('debug', pragmas.debug);
144
+ Check.defined("array", array);
145
+ //>>includeEnd('debug');
146
+
147
+ const length = array.length;
148
+ const resultLength = length * 9;
149
+ if (!defined(result)) {
150
+ result = new Array(resultLength);
151
+ // @ts-expect-error TODO(tsd-jsdoc): Requires conditional TypedArray types.
152
+ } else if (!Array.isArray(result) && result.length !== resultLength) {
153
+ //>>includeStart('debug', pragmas.debug);
154
+ throw new DeveloperError(
155
+ "If result is a typed array, it must have exactly array.length * 9 elements",
156
+ );
157
+ //>>includeEnd('debug');
158
+ } else if (result.length !== resultLength) {
159
+ /** @type {number[]} */ (result).length = resultLength;
160
+ }
161
+
162
+ for (let i = 0; i < length; ++i) {
163
+ Matrix3.pack(array[i], result, i * 9);
164
+ }
165
+
166
+ return result;
167
+ }
168
+
169
+ /**
170
+ * Unpacks an array of column-major matrix components into an array of Matrix3s.
171
+ *
172
+ * @param {number[]} array The array of components to unpack.
173
+ * @param {Matrix3[]} [result] The array onto which to store the result.
174
+ * @returns {Matrix3[]} The unpacked array.
175
+ */
176
+ static unpackArray(array, result) {
177
+ //>>includeStart('debug', pragmas.debug);
178
+ Check.defined("array", array);
179
+ Check.typeOf.number.greaterThanOrEquals("array.length", array.length, 9);
180
+ if (array.length % 9 !== 0) {
181
+ throw new DeveloperError("array length must be a multiple of 9.");
182
+ }
183
+ //>>includeEnd('debug');
184
+
185
+ const length = array.length;
186
+ if (!defined(result)) {
187
+ result = new Array(length / 9);
188
+ } else {
189
+ result.length = length / 9;
190
+ }
191
+
192
+ for (let i = 0; i < length; i += 9) {
193
+ const index = i / 9;
194
+ result[index] = Matrix3.unpack(array, i, result[index]);
195
+ }
196
+ return result;
197
+ }
198
+
199
+ /**
200
+ * Duplicates a Matrix3 instance.
201
+ *
202
+ * @param {Matrix3} matrix The matrix to duplicate.
203
+ * @param {Matrix3} [result] The object onto which to store the result.
204
+ * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if one was not provided. (Returns undefined if matrix is undefined)
205
+ */
206
+ static clone(matrix, result) {
207
+ if (!defined(matrix)) {
208
+ return undefined;
209
+ }
210
+ if (!defined(result)) {
211
+ return new Matrix3(
212
+ matrix[0],
213
+ matrix[3],
214
+ matrix[6],
215
+ matrix[1],
216
+ matrix[4],
217
+ matrix[7],
218
+ matrix[2],
219
+ matrix[5],
220
+ matrix[8],
221
+ );
222
+ }
223
+ result[0] = matrix[0];
224
+ result[1] = matrix[1];
225
+ result[2] = matrix[2];
226
+ result[3] = matrix[3];
227
+ result[4] = matrix[4];
228
+ result[5] = matrix[5];
229
+ result[6] = matrix[6];
230
+ result[7] = matrix[7];
231
+ result[8] = matrix[8];
232
+ return result;
233
+ }
234
+
235
+ /**
236
+ * Creates a Matrix3 instance from a column-major order array.
237
+ *
238
+ * @param {number[]} values The column-major order array.
239
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
240
+ * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
241
+ */
242
+ static fromColumnMajorArray(values, result) {
243
+ //>>includeStart('debug', pragmas.debug);
244
+ Check.defined("values", values);
245
+ //>>includeEnd('debug');
246
+
247
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
248
+ return Matrix3.clone(values, result);
249
+ }
250
+
251
+ /**
252
+ * Creates a Matrix3 instance from a row-major order array.
253
+ * The resulting matrix will be in column-major order.
254
+ *
255
+ * @param {number[]} values The row-major order array.
256
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
257
+ * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
258
+ */
259
+ static fromRowMajorArray(values, result) {
260
+ //>>includeStart('debug', pragmas.debug);
261
+ Check.defined("values", values);
262
+ //>>includeEnd('debug');
263
+
264
+ if (!defined(result)) {
265
+ return new Matrix3(
266
+ values[0],
267
+ values[1],
268
+ values[2],
269
+ values[3],
270
+ values[4],
271
+ values[5],
272
+ values[6],
273
+ values[7],
274
+ values[8],
275
+ );
276
+ }
277
+ result[0] = values[0];
278
+ result[1] = values[3];
279
+ result[2] = values[6];
280
+ result[3] = values[1];
281
+ result[4] = values[4];
282
+ result[5] = values[7];
283
+ result[6] = values[2];
284
+ result[7] = values[5];
285
+ result[8] = values[8];
286
+ return result;
287
+ }
288
+
289
+ /**
290
+ * Computes a 3x3 rotation matrix from the provided quaternion.
291
+ *
292
+ * @param {Quaternion} quaternion the quaternion to use.
293
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
294
+ * @returns {Matrix3} The 3x3 rotation matrix from this quaternion.
295
+ */
296
+ static fromQuaternion(quaternion, result) {
297
+ //>>includeStart('debug', pragmas.debug);
298
+ Check.typeOf.object("quaternion", quaternion);
299
+ //>>includeEnd('debug');
300
+
301
+ const x2 = quaternion.x * quaternion.x;
302
+ const xy = quaternion.x * quaternion.y;
303
+ const xz = quaternion.x * quaternion.z;
304
+ const xw = quaternion.x * quaternion.w;
305
+ const y2 = quaternion.y * quaternion.y;
306
+ const yz = quaternion.y * quaternion.z;
307
+ const yw = quaternion.y * quaternion.w;
308
+ const z2 = quaternion.z * quaternion.z;
309
+ const zw = quaternion.z * quaternion.w;
310
+ const w2 = quaternion.w * quaternion.w;
311
+
312
+ const m00 = x2 - y2 - z2 + w2;
313
+ const m01 = 2.0 * (xy - zw);
314
+ const m02 = 2.0 * (xz + yw);
315
+
316
+ const m10 = 2.0 * (xy + zw);
317
+ const m11 = -x2 + y2 - z2 + w2;
318
+ const m12 = 2.0 * (yz - xw);
319
+
320
+ const m20 = 2.0 * (xz - yw);
321
+ const m21 = 2.0 * (yz + xw);
322
+ const m22 = -x2 - y2 + z2 + w2;
323
+
324
+ if (!defined(result)) {
325
+ return new Matrix3(m00, m01, m02, m10, m11, m12, m20, m21, m22);
326
+ }
327
+ result[0] = m00;
328
+ result[1] = m10;
329
+ result[2] = m20;
330
+ result[3] = m01;
331
+ result[4] = m11;
332
+ result[5] = m21;
333
+ result[6] = m02;
334
+ result[7] = m12;
335
+ result[8] = m22;
336
+ return result;
337
+ }
338
+
339
+ /**
340
+ * Computes a 3x3 rotation matrix from the provided headingPitchRoll. (see http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles )
341
+ *
342
+ * @param {HeadingPitchRoll} headingPitchRoll the headingPitchRoll to use.
343
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
344
+ * @returns {Matrix3} The 3x3 rotation matrix from this headingPitchRoll.
345
+ */
346
+ static fromHeadingPitchRoll(headingPitchRoll, result) {
347
+ //>>includeStart('debug', pragmas.debug);
348
+ Check.typeOf.object("headingPitchRoll", headingPitchRoll);
349
+ //>>includeEnd('debug');
350
+
351
+ const cosTheta = Math.cos(-headingPitchRoll.pitch);
352
+ const cosPsi = Math.cos(-headingPitchRoll.heading);
353
+ const cosPhi = Math.cos(headingPitchRoll.roll);
354
+ const sinTheta = Math.sin(-headingPitchRoll.pitch);
355
+ const sinPsi = Math.sin(-headingPitchRoll.heading);
356
+ const sinPhi = Math.sin(headingPitchRoll.roll);
357
+
358
+ const m00 = cosTheta * cosPsi;
359
+ const m01 = -cosPhi * sinPsi + sinPhi * sinTheta * cosPsi;
360
+ const m02 = sinPhi * sinPsi + cosPhi * sinTheta * cosPsi;
361
+
362
+ const m10 = cosTheta * sinPsi;
363
+ const m11 = cosPhi * cosPsi + sinPhi * sinTheta * sinPsi;
364
+ const m12 = -sinPhi * cosPsi + cosPhi * sinTheta * sinPsi;
365
+
366
+ const m20 = -sinTheta;
367
+ const m21 = sinPhi * cosTheta;
368
+ const m22 = cosPhi * cosTheta;
369
+
370
+ if (!defined(result)) {
371
+ return new Matrix3(m00, m01, m02, m10, m11, m12, m20, m21, m22);
372
+ }
373
+ result[0] = m00;
374
+ result[1] = m10;
375
+ result[2] = m20;
376
+ result[3] = m01;
377
+ result[4] = m11;
378
+ result[5] = m21;
379
+ result[6] = m02;
380
+ result[7] = m12;
381
+ result[8] = m22;
382
+ return result;
383
+ }
384
+
385
+ /**
386
+ * Computes a Matrix3 instance representing a non-uniform scale.
387
+ *
388
+ * @param {Cartesian3} scale The x, y, and z scale factors.
389
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
390
+ * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
391
+ *
392
+ * @example
393
+ * // Creates
394
+ * // [7.0, 0.0, 0.0]
395
+ * // [0.0, 8.0, 0.0]
396
+ * // [0.0, 0.0, 9.0]
397
+ * const m = Cesium.Matrix3.fromScale(new Cesium.Cartesian3(7.0, 8.0, 9.0));
398
+ */
399
+ static fromScale(scale, result) {
400
+ //>>includeStart('debug', pragmas.debug);
401
+ Check.typeOf.object("scale", scale);
402
+ //>>includeEnd('debug');
403
+
404
+ if (!defined(result)) {
405
+ return new Matrix3(
406
+ scale.x,
407
+ 0.0,
408
+ 0.0,
409
+ 0.0,
410
+ scale.y,
411
+ 0.0,
412
+ 0.0,
413
+ 0.0,
414
+ scale.z,
415
+ );
416
+ }
417
+
418
+ result[0] = scale.x;
419
+ result[1] = 0.0;
420
+ result[2] = 0.0;
421
+ result[3] = 0.0;
422
+ result[4] = scale.y;
423
+ result[5] = 0.0;
424
+ result[6] = 0.0;
425
+ result[7] = 0.0;
426
+ result[8] = scale.z;
427
+ return result;
428
+ }
429
+
430
+ /**
431
+ * Computes a Matrix3 instance representing a uniform scale.
432
+ *
433
+ * @param {number} scale The uniform scale factor.
434
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
435
+ * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
436
+ *
437
+ * @example
438
+ * // Creates
439
+ * // [2.0, 0.0, 0.0]
440
+ * // [0.0, 2.0, 0.0]
441
+ * // [0.0, 0.0, 2.0]
442
+ * const m = Cesium.Matrix3.fromUniformScale(2.0);
443
+ */
444
+ static fromUniformScale(scale, result) {
445
+ //>>includeStart('debug', pragmas.debug);
446
+ Check.typeOf.number("scale", scale);
447
+ //>>includeEnd('debug');
448
+
449
+ if (!defined(result)) {
450
+ return new Matrix3(scale, 0.0, 0.0, 0.0, scale, 0.0, 0.0, 0.0, scale);
451
+ }
452
+
453
+ result[0] = scale;
454
+ result[1] = 0.0;
455
+ result[2] = 0.0;
456
+ result[3] = 0.0;
457
+ result[4] = scale;
458
+ result[5] = 0.0;
459
+ result[6] = 0.0;
460
+ result[7] = 0.0;
461
+ result[8] = scale;
462
+ return result;
463
+ }
464
+
465
+ /**
466
+ * Computes a Matrix3 instance representing the cross product equivalent matrix of a Cartesian3 vector.
467
+ *
468
+ * @param {Cartesian3} vector the vector on the left hand side of the cross product operation.
469
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
470
+ * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
471
+ *
472
+ * @example
473
+ * // Creates
474
+ * // [0.0, -9.0, 8.0]
475
+ * // [9.0, 0.0, -7.0]
476
+ * // [-8.0, 7.0, 0.0]
477
+ * const m = Cesium.Matrix3.fromCrossProduct(new Cesium.Cartesian3(7.0, 8.0, 9.0));
478
+ */
479
+ static fromCrossProduct(vector, result) {
480
+ //>>includeStart('debug', pragmas.debug);
481
+ Check.typeOf.object("vector", vector);
482
+ //>>includeEnd('debug');
483
+
484
+ if (!defined(result)) {
485
+ return new Matrix3(
486
+ 0.0,
487
+ -vector.z,
488
+ vector.y,
489
+ vector.z,
490
+ 0.0,
491
+ -vector.x,
492
+ -vector.y,
493
+ vector.x,
494
+ 0.0,
495
+ );
496
+ }
497
+
498
+ result[0] = 0.0;
499
+ result[1] = vector.z;
500
+ result[2] = -vector.y;
501
+ result[3] = -vector.z;
502
+ result[4] = 0.0;
503
+ result[5] = vector.x;
504
+ result[6] = vector.y;
505
+ result[7] = -vector.x;
506
+ result[8] = 0.0;
507
+ return result;
508
+ }
509
+
510
+ /**
511
+ * Creates a rotation matrix around the x-axis.
512
+ *
513
+ * @param {number} angle The angle, in radians, of the rotation. Positive angles are counterclockwise.
514
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
515
+ * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
516
+ *
517
+ * @example
518
+ * // Rotate a point 45 degrees counterclockwise around the x-axis.
519
+ * const p = new Cesium.Cartesian3(5, 6, 7);
520
+ * const m = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(45.0));
521
+ * const rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());
522
+ */
523
+ static fromRotationX(angle, result) {
524
+ //>>includeStart('debug', pragmas.debug);
525
+ Check.typeOf.number("angle", angle);
526
+ //>>includeEnd('debug');
527
+
528
+ const cosAngle = Math.cos(angle);
529
+ const sinAngle = Math.sin(angle);
530
+
531
+ if (!defined(result)) {
532
+ return new Matrix3(
533
+ 1.0,
534
+ 0.0,
535
+ 0.0,
536
+ 0.0,
537
+ cosAngle,
538
+ -sinAngle,
539
+ 0.0,
540
+ sinAngle,
541
+ cosAngle,
542
+ );
543
+ }
544
+
545
+ result[0] = 1.0;
546
+ result[1] = 0.0;
547
+ result[2] = 0.0;
548
+ result[3] = 0.0;
549
+ result[4] = cosAngle;
550
+ result[5] = sinAngle;
551
+ result[6] = 0.0;
552
+ result[7] = -sinAngle;
553
+ result[8] = cosAngle;
554
+
555
+ return result;
556
+ }
557
+
558
+ /**
559
+ * Creates a rotation matrix around the y-axis.
560
+ *
561
+ * @param {number} angle The angle, in radians, of the rotation. Positive angles are counterclockwise.
562
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
563
+ * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
564
+ *
565
+ * @example
566
+ * // Rotate a point 45 degrees counterclockwise around the y-axis.
567
+ * const p = new Cesium.Cartesian3(5, 6, 7);
568
+ * const m = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(45.0));
569
+ * const rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());
570
+ */
571
+ static fromRotationY(angle, result) {
572
+ //>>includeStart('debug', pragmas.debug);
573
+ Check.typeOf.number("angle", angle);
574
+ //>>includeEnd('debug');
575
+
576
+ const cosAngle = Math.cos(angle);
577
+ const sinAngle = Math.sin(angle);
578
+
579
+ if (!defined(result)) {
580
+ return new Matrix3(
581
+ cosAngle,
582
+ 0.0,
583
+ sinAngle,
584
+ 0.0,
585
+ 1.0,
586
+ 0.0,
587
+ -sinAngle,
588
+ 0.0,
589
+ cosAngle,
590
+ );
591
+ }
592
+
593
+ result[0] = cosAngle;
594
+ result[1] = 0.0;
595
+ result[2] = -sinAngle;
596
+ result[3] = 0.0;
597
+ result[4] = 1.0;
598
+ result[5] = 0.0;
599
+ result[6] = sinAngle;
600
+ result[7] = 0.0;
601
+ result[8] = cosAngle;
602
+
603
+ return result;
604
+ }
605
+
606
+ /**
607
+ * Creates a rotation matrix around the z-axis.
608
+ *
609
+ * @param {number} angle The angle, in radians, of the rotation. Positive angles are counterclockwise.
610
+ * @param {Matrix3} [result] The object in which the result will be stored, if undefined a new instance will be created.
611
+ * @returns {Matrix3} The modified result parameter, or a new Matrix3 instance if one was not provided.
612
+ *
613
+ * @example
614
+ * // Rotate a point 45 degrees counterclockwise around the z-axis.
615
+ * const p = new Cesium.Cartesian3(5, 6, 7);
616
+ * const m = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(45.0));
617
+ * const rotated = Cesium.Matrix3.multiplyByVector(m, p, new Cesium.Cartesian3());
618
+ */
619
+ static fromRotationZ(angle, result) {
620
+ //>>includeStart('debug', pragmas.debug);
621
+ Check.typeOf.number("angle", angle);
622
+ //>>includeEnd('debug');
623
+
624
+ const cosAngle = Math.cos(angle);
625
+ const sinAngle = Math.sin(angle);
626
+
627
+ if (!defined(result)) {
628
+ return new Matrix3(
629
+ cosAngle,
630
+ -sinAngle,
631
+ 0.0,
632
+ sinAngle,
633
+ cosAngle,
634
+ 0.0,
635
+ 0.0,
636
+ 0.0,
637
+ 1.0,
638
+ );
639
+ }
640
+
641
+ result[0] = cosAngle;
642
+ result[1] = sinAngle;
643
+ result[2] = 0.0;
644
+ result[3] = -sinAngle;
645
+ result[4] = cosAngle;
646
+ result[5] = 0.0;
647
+ result[6] = 0.0;
648
+ result[7] = 0.0;
649
+ result[8] = 1.0;
650
+
651
+ return result;
652
+ }
653
+
654
+ /**
655
+ * Creates an Array from the provided Matrix3 instance.
656
+ * The array will be in column-major order.
657
+ *
658
+ * @param {Matrix3} matrix The matrix to use..
659
+ * @param {number[]} [result] The Array onto which to store the result.
660
+ * @returns {number[]} The modified Array parameter or a new Array instance if one was not provided.
661
+ */
662
+ static toArray(matrix, result) {
663
+ //>>includeStart('debug', pragmas.debug);
664
+ Check.typeOf.object("matrix", matrix);
665
+ //>>includeEnd('debug');
666
+
667
+ if (!defined(result)) {
668
+ return [
669
+ matrix[0],
670
+ matrix[1],
671
+ matrix[2],
672
+ matrix[3],
673
+ matrix[4],
674
+ matrix[5],
675
+ matrix[6],
676
+ matrix[7],
677
+ matrix[8],
678
+ ];
679
+ }
680
+ result[0] = matrix[0];
681
+ result[1] = matrix[1];
682
+ result[2] = matrix[2];
683
+ result[3] = matrix[3];
684
+ result[4] = matrix[4];
685
+ result[5] = matrix[5];
686
+ result[6] = matrix[6];
687
+ result[7] = matrix[7];
688
+ result[8] = matrix[8];
689
+ return result;
690
+ }
691
+
692
+ /**
693
+ * Computes the array index of the element at the provided row and column.
694
+ *
695
+ * @param {number} column The zero-based index of the column.
696
+ * @param {number} row The zero-based index of the row.
697
+ * @returns {number} The index of the element at the provided row and column.
698
+ *
699
+ * @exception {DeveloperError} row must be 0, 1, or 2.
700
+ * @exception {DeveloperError} column must be 0, 1, or 2.
701
+ *
702
+ * @example
703
+ * const myMatrix = new Cesium.Matrix3();
704
+ * const column1Row0Index = Cesium.Matrix3.getElementIndex(1, 0);
705
+ * const column1Row0 = myMatrix[column1Row0Index]
706
+ * myMatrix[column1Row0Index] = 10.0;
707
+ */
708
+ static getElementIndex(column, row) {
709
+ //>>includeStart('debug', pragmas.debug);
710
+ Check.typeOf.number.greaterThanOrEquals("row", row, 0);
711
+ Check.typeOf.number.lessThanOrEquals("row", row, 2);
712
+ Check.typeOf.number.greaterThanOrEquals("column", column, 0);
713
+ Check.typeOf.number.lessThanOrEquals("column", column, 2);
714
+ //>>includeEnd('debug');
715
+
716
+ return column * 3 + row;
717
+ }
718
+
719
+ /**
720
+ * Retrieves a copy of the matrix column at the provided index as a Cartesian3 instance.
721
+ *
722
+ * @param {Matrix3} matrix The matrix to use.
723
+ * @param {number} index The zero-based index of the column to retrieve.
724
+ * @param {Cartesian3} result The object onto which to store the result.
725
+ * @returns {Cartesian3} The modified result parameter.
726
+ *
727
+ * @exception {DeveloperError} index must be 0, 1, or 2.
728
+ */
729
+ static getColumn(matrix, index, result) {
730
+ //>>includeStart('debug', pragmas.debug);
731
+ Check.typeOf.object("matrix", matrix);
732
+ Check.typeOf.number.greaterThanOrEquals("index", index, 0);
733
+ Check.typeOf.number.lessThanOrEquals("index", index, 2);
734
+ Check.typeOf.object("result", result);
735
+ //>>includeEnd('debug');
736
+
737
+ const startIndex = index * 3;
738
+
739
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
740
+ const x = matrix[startIndex];
741
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
742
+ const y = matrix[startIndex + 1];
743
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
744
+ const z = matrix[startIndex + 2];
745
+
746
+ result.x = x;
747
+ result.y = y;
748
+ result.z = z;
749
+ return result;
750
+ }
751
+
752
+ /**
753
+ * Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian3 instance.
754
+ *
755
+ * @param {Matrix3} matrix The matrix to use.
756
+ * @param {number} index The zero-based index of the column to set.
757
+ * @param {Cartesian3} cartesian The Cartesian whose values will be assigned to the specified column.
758
+ * @param {Matrix3} result The object onto which to store the result.
759
+ * @returns {Matrix3} The modified result parameter.
760
+ *
761
+ * @exception {DeveloperError} index must be 0, 1, or 2.
762
+ */
763
+ static setColumn(matrix, index, cartesian, result) {
764
+ //>>includeStart('debug', pragmas.debug);
765
+ Check.typeOf.object("matrix", matrix);
766
+ Check.typeOf.number.greaterThanOrEquals("index", index, 0);
767
+ Check.typeOf.number.lessThanOrEquals("index", index, 2);
768
+ Check.typeOf.object("cartesian", cartesian);
769
+ Check.typeOf.object("result", result);
770
+ //>>includeEnd('debug');
771
+
772
+ result = Matrix3.clone(matrix, result);
773
+ const startIndex = index * 3;
774
+
775
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
776
+ result[startIndex] = cartesian.x;
777
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
778
+ result[startIndex + 1] = cartesian.y;
779
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
780
+ result[startIndex + 2] = cartesian.z;
781
+
782
+ return result;
783
+ }
784
+
785
+ /**
786
+ * Retrieves a copy of the matrix row at the provided index as a Cartesian3 instance.
787
+ *
788
+ * @param {Matrix3} matrix The matrix to use.
789
+ * @param {number} index The zero-based index of the row to retrieve.
790
+ * @param {Cartesian3} result The object onto which to store the result.
791
+ * @returns {Cartesian3} The modified result parameter.
792
+ *
793
+ * @exception {DeveloperError} index must be 0, 1, or 2.
794
+ */
795
+ static getRow(matrix, index, result) {
796
+ //>>includeStart('debug', pragmas.debug);
797
+ Check.typeOf.object("matrix", matrix);
798
+ Check.typeOf.number.greaterThanOrEquals("index", index, 0);
799
+ Check.typeOf.number.lessThanOrEquals("index", index, 2);
800
+ Check.typeOf.object("result", result);
801
+ //>>includeEnd('debug');
802
+
803
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
804
+ const x = matrix[index];
805
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
806
+ const y = matrix[index + 3];
807
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
808
+ const z = matrix[index + 6];
809
+
810
+ result.x = x;
811
+ result.y = y;
812
+ result.z = z;
813
+ return result;
814
+ }
815
+
816
+ /**
817
+ * Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian3 instance.
818
+ *
819
+ * @param {Matrix3} matrix The matrix to use.
820
+ * @param {number} index The zero-based index of the row to set.
821
+ * @param {Cartesian3} cartesian The Cartesian whose values will be assigned to the specified row.
822
+ * @param {Matrix3} result The object onto which to store the result.
823
+ * @returns {Matrix3} The modified result parameter.
824
+ *
825
+ * @exception {DeveloperError} index must be 0, 1, or 2.
826
+ */
827
+ static setRow(matrix, index, cartesian, result) {
828
+ //>>includeStart('debug', pragmas.debug);
829
+ Check.typeOf.object("matrix", matrix);
830
+ Check.typeOf.number.greaterThanOrEquals("index", index, 0);
831
+ Check.typeOf.number.lessThanOrEquals("index", index, 2);
832
+ Check.typeOf.object("cartesian", cartesian);
833
+ Check.typeOf.object("result", result);
834
+ //>>includeEnd('debug');
835
+
836
+ result = Matrix3.clone(matrix, result);
837
+
838
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
839
+ result[index] = cartesian.x;
840
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
841
+ result[index + 3] = cartesian.y;
842
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
843
+ result[index + 6] = cartesian.z;
844
+
845
+ return result;
846
+ }
847
+
848
+ /**
849
+ * Computes a new matrix that replaces the scale with the provided scale.
850
+ * This assumes the matrix is an affine transformation.
851
+ *
852
+ * @param {Matrix3} matrix The matrix to use.
853
+ * @param {Cartesian3} scale The scale that replaces the scale of the provided matrix.
854
+ * @param {Matrix3} result The object onto which to store the result.
855
+ * @returns {Matrix3} The modified result parameter.
856
+ *
857
+ * @see Matrix3.setUniformScale
858
+ * @see Matrix3.fromScale
859
+ * @see Matrix3.fromUniformScale
860
+ * @see Matrix3.multiplyByScale
861
+ * @see Matrix3.multiplyByUniformScale
862
+ * @see Matrix3.getScale
863
+ */
864
+ static setScale(matrix, scale, result) {
865
+ //>>includeStart('debug', pragmas.debug);
866
+ Check.typeOf.object("matrix", matrix);
867
+ Check.typeOf.object("scale", scale);
868
+ Check.typeOf.object("result", result);
869
+ //>>includeEnd('debug');
870
+
871
+ const existingScale = Matrix3.getScale(matrix, scaleScratch1);
872
+ const scaleRatioX = scale.x / existingScale.x;
873
+ const scaleRatioY = scale.y / existingScale.y;
874
+ const scaleRatioZ = scale.z / existingScale.z;
875
+
876
+ result[0] = matrix[0] * scaleRatioX;
877
+ result[1] = matrix[1] * scaleRatioX;
878
+ result[2] = matrix[2] * scaleRatioX;
879
+ result[3] = matrix[3] * scaleRatioY;
880
+ result[4] = matrix[4] * scaleRatioY;
881
+ result[5] = matrix[5] * scaleRatioY;
882
+ result[6] = matrix[6] * scaleRatioZ;
883
+ result[7] = matrix[7] * scaleRatioZ;
884
+ result[8] = matrix[8] * scaleRatioZ;
885
+
886
+ return result;
887
+ }
888
+
889
+ /**
890
+ * Computes a new matrix that replaces the scale with the provided uniform scale.
891
+ * This assumes the matrix is an affine transformation.
892
+ *
893
+ * @param {Matrix3} matrix The matrix to use.
894
+ * @param {number} scale The uniform scale that replaces the scale of the provided matrix.
895
+ * @param {Matrix3} result The object onto which to store the result.
896
+ * @returns {Matrix3} The modified result parameter.
897
+ *
898
+ * @see Matrix3.setScale
899
+ * @see Matrix3.fromScale
900
+ * @see Matrix3.fromUniformScale
901
+ * @see Matrix3.multiplyByScale
902
+ * @see Matrix3.multiplyByUniformScale
903
+ * @see Matrix3.getScale
904
+ */
905
+ static setUniformScale(matrix, scale, result) {
906
+ //>>includeStart('debug', pragmas.debug);
907
+ Check.typeOf.object("matrix", matrix);
908
+ Check.typeOf.number("scale", scale);
909
+ Check.typeOf.object("result", result);
910
+ //>>includeEnd('debug');
911
+
912
+ const existingScale = Matrix3.getScale(matrix, scaleScratch2);
913
+ const scaleRatioX = scale / existingScale.x;
914
+ const scaleRatioY = scale / existingScale.y;
915
+ const scaleRatioZ = scale / existingScale.z;
916
+
917
+ result[0] = matrix[0] * scaleRatioX;
918
+ result[1] = matrix[1] * scaleRatioX;
919
+ result[2] = matrix[2] * scaleRatioX;
920
+ result[3] = matrix[3] * scaleRatioY;
921
+ result[4] = matrix[4] * scaleRatioY;
922
+ result[5] = matrix[5] * scaleRatioY;
923
+ result[6] = matrix[6] * scaleRatioZ;
924
+ result[7] = matrix[7] * scaleRatioZ;
925
+ result[8] = matrix[8] * scaleRatioZ;
926
+
927
+ return result;
928
+ }
929
+
930
+ /**
931
+ * Extracts the non-uniform scale assuming the matrix is an affine transformation.
932
+ *
933
+ * @param {Matrix3} matrix The matrix.
934
+ * @param {Cartesian3} result The object onto which to store the result.
935
+ * @returns {Cartesian3} The modified result parameter.
936
+ *
937
+ * @see Matrix3.multiplyByScale
938
+ * @see Matrix3.multiplyByUniformScale
939
+ * @see Matrix3.fromScale
940
+ * @see Matrix3.fromUniformScale
941
+ * @see Matrix3.setScale
942
+ * @see Matrix3.setUniformScale
943
+ */
944
+ static getScale(matrix, result) {
945
+ //>>includeStart('debug', pragmas.debug);
946
+ Check.typeOf.object("matrix", matrix);
947
+ Check.typeOf.object("result", result);
948
+ //>>includeEnd('debug');
949
+
950
+ result.x = Cartesian3.magnitude(
951
+ Cartesian3.fromElements(matrix[0], matrix[1], matrix[2], scratchColumn),
952
+ );
953
+ result.y = Cartesian3.magnitude(
954
+ Cartesian3.fromElements(matrix[3], matrix[4], matrix[5], scratchColumn),
955
+ );
956
+ result.z = Cartesian3.magnitude(
957
+ Cartesian3.fromElements(matrix[6], matrix[7], matrix[8], scratchColumn),
958
+ );
959
+ return result;
960
+ }
961
+
962
+ /**
963
+ * Computes the maximum scale assuming the matrix is an affine transformation.
964
+ * The maximum scale is the maximum length of the column vectors.
965
+ *
966
+ * @param {Matrix3} matrix The matrix.
967
+ * @returns {number} The maximum scale.
968
+ */
969
+ static getMaximumScale(matrix) {
970
+ Matrix3.getScale(matrix, scaleScratch3);
971
+ return Cartesian3.maximumComponent(scaleScratch3);
972
+ }
973
+
974
+ /**
975
+ * Sets the rotation assuming the matrix is an affine transformation.
976
+ *
977
+ * @param {Matrix3} matrix The matrix.
978
+ * @param {Matrix3} rotation The rotation matrix.
979
+ * @param {Matrix3} result The object onto which to store the result.
980
+ * @returns {Matrix3} The modified result parameter.
981
+ *
982
+ * @see Matrix3.getRotation
983
+ */
984
+ static setRotation(matrix, rotation, result) {
985
+ //>>includeStart('debug', pragmas.debug);
986
+ Check.typeOf.object("matrix", matrix);
987
+ Check.typeOf.object("result", result);
988
+ //>>includeEnd('debug');
989
+
990
+ const scale = Matrix3.getScale(matrix, scaleScratch4);
991
+
992
+ result[0] = rotation[0] * scale.x;
993
+ result[1] = rotation[1] * scale.x;
994
+ result[2] = rotation[2] * scale.x;
995
+ result[3] = rotation[3] * scale.y;
996
+ result[4] = rotation[4] * scale.y;
997
+ result[5] = rotation[5] * scale.y;
998
+ result[6] = rotation[6] * scale.z;
999
+ result[7] = rotation[7] * scale.z;
1000
+ result[8] = rotation[8] * scale.z;
1001
+
1002
+ return result;
1003
+ }
1004
+
1005
+ /**
1006
+ * Extracts the rotation matrix assuming the matrix is an affine transformation.
1007
+ *
1008
+ * @param {Matrix3} matrix The matrix.
1009
+ * @param {Matrix3} result The object onto which to store the result.
1010
+ * @returns {Matrix3} The modified result parameter.
1011
+ *
1012
+ * @see Matrix3.setRotation
1013
+ */
1014
+ static getRotation(matrix, result) {
1015
+ //>>includeStart('debug', pragmas.debug);
1016
+ Check.typeOf.object("matrix", matrix);
1017
+ Check.typeOf.object("result", result);
1018
+ //>>includeEnd('debug');
1019
+
1020
+ const scale = Matrix3.getScale(matrix, scaleScratch5);
1021
+
1022
+ result[0] = matrix[0] / scale.x;
1023
+ result[1] = matrix[1] / scale.x;
1024
+ result[2] = matrix[2] / scale.x;
1025
+ result[3] = matrix[3] / scale.y;
1026
+ result[4] = matrix[4] / scale.y;
1027
+ result[5] = matrix[5] / scale.y;
1028
+ result[6] = matrix[6] / scale.z;
1029
+ result[7] = matrix[7] / scale.z;
1030
+ result[8] = matrix[8] / scale.z;
1031
+
1032
+ return result;
1033
+ }
1034
+
1035
+ /**
1036
+ * Computes the product of two matrices.
1037
+ *
1038
+ * @param {Matrix3} left The first matrix.
1039
+ * @param {Matrix3} right The second matrix.
1040
+ * @param {Matrix3} result The object onto which to store the result.
1041
+ * @returns {Matrix3} The modified result parameter.
1042
+ */
1043
+ static multiply(left, right, result) {
1044
+ //>>includeStart('debug', pragmas.debug);
1045
+ Check.typeOf.object("left", left);
1046
+ Check.typeOf.object("right", right);
1047
+ Check.typeOf.object("result", result);
1048
+ //>>includeEnd('debug');
1049
+
1050
+ const column0Row0 =
1051
+ left[0] * right[0] + left[3] * right[1] + left[6] * right[2];
1052
+ const column0Row1 =
1053
+ left[1] * right[0] + left[4] * right[1] + left[7] * right[2];
1054
+ const column0Row2 =
1055
+ left[2] * right[0] + left[5] * right[1] + left[8] * right[2];
1056
+
1057
+ const column1Row0 =
1058
+ left[0] * right[3] + left[3] * right[4] + left[6] * right[5];
1059
+ const column1Row1 =
1060
+ left[1] * right[3] + left[4] * right[4] + left[7] * right[5];
1061
+ const column1Row2 =
1062
+ left[2] * right[3] + left[5] * right[4] + left[8] * right[5];
1063
+
1064
+ const column2Row0 =
1065
+ left[0] * right[6] + left[3] * right[7] + left[6] * right[8];
1066
+ const column2Row1 =
1067
+ left[1] * right[6] + left[4] * right[7] + left[7] * right[8];
1068
+ const column2Row2 =
1069
+ left[2] * right[6] + left[5] * right[7] + left[8] * right[8];
1070
+
1071
+ result[0] = column0Row0;
1072
+ result[1] = column0Row1;
1073
+ result[2] = column0Row2;
1074
+ result[3] = column1Row0;
1075
+ result[4] = column1Row1;
1076
+ result[5] = column1Row2;
1077
+ result[6] = column2Row0;
1078
+ result[7] = column2Row1;
1079
+ result[8] = column2Row2;
1080
+ return result;
1081
+ }
1082
+
1083
+ /**
1084
+ * Computes the sum of two matrices.
1085
+ *
1086
+ * @param {Matrix3} left The first matrix.
1087
+ * @param {Matrix3} right The second matrix.
1088
+ * @param {Matrix3} result The object onto which to store the result.
1089
+ * @returns {Matrix3} The modified result parameter.
1090
+ */
1091
+ static add(left, right, result) {
1092
+ //>>includeStart('debug', pragmas.debug);
1093
+ Check.typeOf.object("left", left);
1094
+ Check.typeOf.object("right", right);
1095
+ Check.typeOf.object("result", result);
1096
+ //>>includeEnd('debug');
1097
+
1098
+ result[0] = left[0] + right[0];
1099
+ result[1] = left[1] + right[1];
1100
+ result[2] = left[2] + right[2];
1101
+ result[3] = left[3] + right[3];
1102
+ result[4] = left[4] + right[4];
1103
+ result[5] = left[5] + right[5];
1104
+ result[6] = left[6] + right[6];
1105
+ result[7] = left[7] + right[7];
1106
+ result[8] = left[8] + right[8];
1107
+ return result;
1108
+ }
1109
+
1110
+ /**
1111
+ * Computes the difference of two matrices.
1112
+ *
1113
+ * @param {Matrix3} left The first matrix.
1114
+ * @param {Matrix3} right The second matrix.
1115
+ * @param {Matrix3} result The object onto which to store the result.
1116
+ * @returns {Matrix3} The modified result parameter.
1117
+ */
1118
+ static subtract(left, right, result) {
1119
+ //>>includeStart('debug', pragmas.debug);
1120
+ Check.typeOf.object("left", left);
1121
+ Check.typeOf.object("right", right);
1122
+ Check.typeOf.object("result", result);
1123
+ //>>includeEnd('debug');
1124
+
1125
+ result[0] = left[0] - right[0];
1126
+ result[1] = left[1] - right[1];
1127
+ result[2] = left[2] - right[2];
1128
+ result[3] = left[3] - right[3];
1129
+ result[4] = left[4] - right[4];
1130
+ result[5] = left[5] - right[5];
1131
+ result[6] = left[6] - right[6];
1132
+ result[7] = left[7] - right[7];
1133
+ result[8] = left[8] - right[8];
1134
+ return result;
1135
+ }
1136
+
1137
+ /**
1138
+ * Computes the product of a matrix and a column vector.
1139
+ *
1140
+ * @param {Matrix3} matrix The matrix.
1141
+ * @param {Cartesian3} cartesian The column.
1142
+ * @param {Cartesian3} result The object onto which to store the result.
1143
+ * @returns {Cartesian3} The modified result parameter.
1144
+ */
1145
+ static multiplyByVector(matrix, cartesian, result) {
1146
+ //>>includeStart('debug', pragmas.debug);
1147
+ Check.typeOf.object("matrix", matrix);
1148
+ Check.typeOf.object("cartesian", cartesian);
1149
+ Check.typeOf.object("result", result);
1150
+ //>>includeEnd('debug');
1151
+
1152
+ const vX = cartesian.x;
1153
+ const vY = cartesian.y;
1154
+ const vZ = cartesian.z;
1155
+
1156
+ const x = matrix[0] * vX + matrix[3] * vY + matrix[6] * vZ;
1157
+ const y = matrix[1] * vX + matrix[4] * vY + matrix[7] * vZ;
1158
+ const z = matrix[2] * vX + matrix[5] * vY + matrix[8] * vZ;
1159
+
1160
+ result.x = x;
1161
+ result.y = y;
1162
+ result.z = z;
1163
+ return result;
1164
+ }
1165
+
1166
+ /**
1167
+ * Computes the product of a matrix and a scalar.
1168
+ *
1169
+ * @param {Matrix3} matrix The matrix.
1170
+ * @param {number} scalar The number to multiply by.
1171
+ * @param {Matrix3} result The object onto which to store the result.
1172
+ * @returns {Matrix3} The modified result parameter.
1173
+ */
1174
+ static multiplyByScalar(matrix, scalar, result) {
1175
+ //>>includeStart('debug', pragmas.debug);
1176
+ Check.typeOf.object("matrix", matrix);
1177
+ Check.typeOf.number("scalar", scalar);
1178
+ Check.typeOf.object("result", result);
1179
+ //>>includeEnd('debug');
1180
+
1181
+ result[0] = matrix[0] * scalar;
1182
+ result[1] = matrix[1] * scalar;
1183
+ result[2] = matrix[2] * scalar;
1184
+ result[3] = matrix[3] * scalar;
1185
+ result[4] = matrix[4] * scalar;
1186
+ result[5] = matrix[5] * scalar;
1187
+ result[6] = matrix[6] * scalar;
1188
+ result[7] = matrix[7] * scalar;
1189
+ result[8] = matrix[8] * scalar;
1190
+ return result;
1191
+ }
1192
+
1193
+ /**
1194
+ * Computes the product of a matrix times a (non-uniform) scale, as if the scale were a scale matrix.
1195
+ *
1196
+ * @param {Matrix3} matrix The matrix on the left-hand side.
1197
+ * @param {Cartesian3} scale The non-uniform scale on the right-hand side.
1198
+ * @param {Matrix3} result The object onto which to store the result.
1199
+ * @returns {Matrix3} The modified result parameter.
1200
+ *
1201
+ *
1202
+ * @example
1203
+ * // Instead of Cesium.Matrix3.multiply(m, Cesium.Matrix3.fromScale(scale), m);
1204
+ * Cesium.Matrix3.multiplyByScale(m, scale, m);
1205
+ *
1206
+ * @see Matrix3.multiplyByUniformScale
1207
+ * @see Matrix3.fromScale
1208
+ * @see Matrix3.fromUniformScale
1209
+ * @see Matrix3.setScale
1210
+ * @see Matrix3.setUniformScale
1211
+ * @see Matrix3.getScale
1212
+ */
1213
+ static multiplyByScale(matrix, scale, result) {
1214
+ //>>includeStart('debug', pragmas.debug);
1215
+ Check.typeOf.object("matrix", matrix);
1216
+ Check.typeOf.object("scale", scale);
1217
+ Check.typeOf.object("result", result);
1218
+ //>>includeEnd('debug');
1219
+
1220
+ result[0] = matrix[0] * scale.x;
1221
+ result[1] = matrix[1] * scale.x;
1222
+ result[2] = matrix[2] * scale.x;
1223
+ result[3] = matrix[3] * scale.y;
1224
+ result[4] = matrix[4] * scale.y;
1225
+ result[5] = matrix[5] * scale.y;
1226
+ result[6] = matrix[6] * scale.z;
1227
+ result[7] = matrix[7] * scale.z;
1228
+ result[8] = matrix[8] * scale.z;
1229
+
1230
+ return result;
1231
+ }
1232
+
1233
+ /**
1234
+ * Computes the product of a matrix times a uniform scale, as if the scale were a scale matrix.
1235
+ *
1236
+ * @param {Matrix3} matrix The matrix on the left-hand side.
1237
+ * @param {number} scale The uniform scale on the right-hand side.
1238
+ * @param {Matrix3} result The object onto which to store the result.
1239
+ * @returns {Matrix3} The modified result parameter.
1240
+ *
1241
+ * @example
1242
+ * // Instead of Cesium.Matrix3.multiply(m, Cesium.Matrix3.fromUniformScale(scale), m);
1243
+ * Cesium.Matrix3.multiplyByUniformScale(m, scale, m);
1244
+ *
1245
+ * @see Matrix3.multiplyByScale
1246
+ * @see Matrix3.fromScale
1247
+ * @see Matrix3.fromUniformScale
1248
+ * @see Matrix3.setScale
1249
+ * @see Matrix3.setUniformScale
1250
+ * @see Matrix3.getScale
1251
+ */
1252
+ static multiplyByUniformScale(matrix, scale, result) {
1253
+ //>>includeStart('debug', pragmas.debug);
1254
+ Check.typeOf.object("matrix", matrix);
1255
+ Check.typeOf.number("scale", scale);
1256
+ Check.typeOf.object("result", result);
1257
+ //>>includeEnd('debug');
1258
+
1259
+ result[0] = matrix[0] * scale;
1260
+ result[1] = matrix[1] * scale;
1261
+ result[2] = matrix[2] * scale;
1262
+ result[3] = matrix[3] * scale;
1263
+ result[4] = matrix[4] * scale;
1264
+ result[5] = matrix[5] * scale;
1265
+ result[6] = matrix[6] * scale;
1266
+ result[7] = matrix[7] * scale;
1267
+ result[8] = matrix[8] * scale;
1268
+
1269
+ return result;
1270
+ }
1271
+
1272
+ /**
1273
+ * Creates a negated copy of the provided matrix.
1274
+ *
1275
+ * @param {Matrix3} matrix The matrix to negate.
1276
+ * @param {Matrix3} result The object onto which to store the result.
1277
+ * @returns {Matrix3} The modified result parameter.
1278
+ */
1279
+ static negate(matrix, result) {
1280
+ //>>includeStart('debug', pragmas.debug);
1281
+ Check.typeOf.object("matrix", matrix);
1282
+ Check.typeOf.object("result", result);
1283
+ //>>includeEnd('debug');
1284
+
1285
+ result[0] = -matrix[0];
1286
+ result[1] = -matrix[1];
1287
+ result[2] = -matrix[2];
1288
+ result[3] = -matrix[3];
1289
+ result[4] = -matrix[4];
1290
+ result[5] = -matrix[5];
1291
+ result[6] = -matrix[6];
1292
+ result[7] = -matrix[7];
1293
+ result[8] = -matrix[8];
1294
+ return result;
1295
+ }
1296
+
1297
+ /**
1298
+ * Computes the transpose of the provided matrix.
1299
+ *
1300
+ * @param {Matrix3} matrix The matrix to transpose.
1301
+ * @param {Matrix3} result The object onto which to store the result.
1302
+ * @returns {Matrix3} The modified result parameter.
1303
+ */
1304
+ static transpose(matrix, result) {
1305
+ //>>includeStart('debug', pragmas.debug);
1306
+ Check.typeOf.object("matrix", matrix);
1307
+ Check.typeOf.object("result", result);
1308
+ //>>includeEnd('debug');
1309
+
1310
+ const column0Row0 = matrix[0];
1311
+ const column0Row1 = matrix[3];
1312
+ const column0Row2 = matrix[6];
1313
+ const column1Row0 = matrix[1];
1314
+ const column1Row1 = matrix[4];
1315
+ const column1Row2 = matrix[7];
1316
+ const column2Row0 = matrix[2];
1317
+ const column2Row1 = matrix[5];
1318
+ const column2Row2 = matrix[8];
1319
+
1320
+ result[0] = column0Row0;
1321
+ result[1] = column0Row1;
1322
+ result[2] = column0Row2;
1323
+ result[3] = column1Row0;
1324
+ result[4] = column1Row1;
1325
+ result[5] = column1Row2;
1326
+ result[6] = column2Row0;
1327
+ result[7] = column2Row1;
1328
+ result[8] = column2Row2;
1329
+ return result;
1330
+ }
1331
+
1332
+ /**
1333
+ * Computes the eigenvectors and eigenvalues of a symmetric matrix.
1334
+ * <p>
1335
+ * Returns a diagonal matrix and unitary matrix such that:
1336
+ * <code>matrix = unitary matrix * diagonal matrix * transpose(unitary matrix)</code>
1337
+ * </p>
1338
+ * <p>
1339
+ * The values along the diagonal of the diagonal matrix are the eigenvalues. The columns
1340
+ * of the unitary matrix are the corresponding eigenvectors.
1341
+ * </p>
1342
+ *
1343
+ * @param {Matrix3} matrix The matrix to decompose into diagonal and unitary matrix. Expected to be symmetric.
1344
+ * @param {EigenDecompositionResult} [result] An object with unitary and diagonal properties which are matrices onto which to store the result.
1345
+ * @returns {EigenDecompositionResult} An object with unitary and diagonal properties which are the unitary and diagonal matrices, respectively.
1346
+ *
1347
+ * @example
1348
+ * const a = //... symetric matrix
1349
+ * const result = {
1350
+ * unitary : new Cesium.Matrix3(),
1351
+ * diagonal : new Cesium.Matrix3()
1352
+ * };
1353
+ * Cesium.Matrix3.computeEigenDecomposition(a, result);
1354
+ *
1355
+ * const unitaryTranspose = Cesium.Matrix3.transpose(result.unitary, new Cesium.Matrix3());
1356
+ * const b = Cesium.Matrix3.multiply(result.unitary, result.diagonal, new Cesium.Matrix3());
1357
+ * Cesium.Matrix3.multiply(b, unitaryTranspose, b); // b is now equal to a
1358
+ *
1359
+ * const lambda = Cesium.Matrix3.getColumn(result.diagonal, 0, new Cesium.Cartesian3()).x; // first eigenvalue
1360
+ * const v = Cesium.Matrix3.getColumn(result.unitary, 0, new Cesium.Cartesian3()); // first eigenvector
1361
+ * const c = Cesium.Cartesian3.multiplyByScalar(v, lambda, new Cesium.Cartesian3()); // equal to Cesium.Matrix3.multiplyByVector(a, v)
1362
+ */
1363
+ static computeEigenDecomposition(matrix, result) {
1364
+ //>>includeStart('debug', pragmas.debug);
1365
+ Check.typeOf.object("matrix", matrix);
1366
+ //>>includeEnd('debug');
1367
+
1368
+ // This routine was created based upon Matrix Computations, 3rd ed., by Golub and Van Loan,
1369
+ // section 8.4.3 The Classical Jacobi Algorithm
1370
+
1371
+ const tolerance = CesiumMath.EPSILON20;
1372
+ const maxSweeps = 10;
1373
+
1374
+ let count = 0;
1375
+ let sweep = 0;
1376
+
1377
+ if (!defined(result)) {
1378
+ result = {};
1379
+ }
1380
+
1381
+ const unitaryMatrix = (result.unitary = Matrix3.clone(
1382
+ Matrix3.IDENTITY,
1383
+ result.unitary,
1384
+ ));
1385
+ const diagMatrix = (result.diagonal = Matrix3.clone(
1386
+ matrix,
1387
+ result.diagonal,
1388
+ ));
1389
+
1390
+ const epsilon = tolerance * computeFrobeniusNorm(diagMatrix);
1391
+
1392
+ while (
1393
+ sweep < maxSweeps &&
1394
+ offDiagonalFrobeniusNorm(diagMatrix) > epsilon
1395
+ ) {
1396
+ shurDecomposition(diagMatrix, jMatrix);
1397
+ Matrix3.transpose(jMatrix, jMatrixTranspose);
1398
+ Matrix3.multiply(diagMatrix, jMatrix, diagMatrix);
1399
+ Matrix3.multiply(jMatrixTranspose, diagMatrix, diagMatrix);
1400
+ Matrix3.multiply(unitaryMatrix, jMatrix, unitaryMatrix);
1401
+
1402
+ if (++count > 2) {
1403
+ ++sweep;
1404
+ count = 0;
1405
+ }
1406
+ }
1407
+
1408
+ return result;
1409
+ }
1410
+
1411
+ /**
1412
+ * Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements.
1413
+ *
1414
+ * @param {Matrix3} matrix The matrix with signed elements.
1415
+ * @param {Matrix3} result The object onto which to store the result.
1416
+ * @returns {Matrix3} The modified result parameter.
1417
+ */
1418
+ static abs(matrix, result) {
1419
+ //>>includeStart('debug', pragmas.debug);
1420
+ Check.typeOf.object("matrix", matrix);
1421
+ Check.typeOf.object("result", result);
1422
+ //>>includeEnd('debug');
1423
+
1424
+ result[0] = Math.abs(matrix[0]);
1425
+ result[1] = Math.abs(matrix[1]);
1426
+ result[2] = Math.abs(matrix[2]);
1427
+ result[3] = Math.abs(matrix[3]);
1428
+ result[4] = Math.abs(matrix[4]);
1429
+ result[5] = Math.abs(matrix[5]);
1430
+ result[6] = Math.abs(matrix[6]);
1431
+ result[7] = Math.abs(matrix[7]);
1432
+ result[8] = Math.abs(matrix[8]);
1433
+
1434
+ return result;
1435
+ }
1436
+
1437
+ /**
1438
+ * Computes the determinant of the provided matrix.
1439
+ *
1440
+ * @param {Matrix3} matrix The matrix to use.
1441
+ * @returns {number} The value of the determinant of the matrix.
1442
+ */
1443
+ static determinant(matrix) {
1444
+ //>>includeStart('debug', pragmas.debug);
1445
+ Check.typeOf.object("matrix", matrix);
1446
+ //>>includeEnd('debug');
1447
+
1448
+ const m11 = matrix[0];
1449
+ const m21 = matrix[3];
1450
+ const m31 = matrix[6];
1451
+ const m12 = matrix[1];
1452
+ const m22 = matrix[4];
1453
+ const m32 = matrix[7];
1454
+ const m13 = matrix[2];
1455
+ const m23 = matrix[5];
1456
+ const m33 = matrix[8];
1457
+
1458
+ return (
1459
+ m11 * (m22 * m33 - m23 * m32) +
1460
+ m12 * (m23 * m31 - m21 * m33) +
1461
+ m13 * (m21 * m32 - m22 * m31)
1462
+ );
1463
+ }
1464
+
1465
+ /**
1466
+ * Computes the inverse of the provided matrix.
1467
+ *
1468
+ * @param {Matrix3} matrix The matrix to invert.
1469
+ * @param {Matrix3} result The object onto which to store the result.
1470
+ * @returns {Matrix3} The modified result parameter.
1471
+ *
1472
+ * @exception {DeveloperError} matrix is not invertible.
1473
+ */
1474
+ static inverse(matrix, result) {
1475
+ //>>includeStart('debug', pragmas.debug);
1476
+ Check.typeOf.object("matrix", matrix);
1477
+ Check.typeOf.object("result", result);
1478
+ //>>includeEnd('debug');
1479
+
1480
+ const m11 = matrix[0];
1481
+ const m21 = matrix[1];
1482
+ const m31 = matrix[2];
1483
+ const m12 = matrix[3];
1484
+ const m22 = matrix[4];
1485
+ const m32 = matrix[5];
1486
+ const m13 = matrix[6];
1487
+ const m23 = matrix[7];
1488
+ const m33 = matrix[8];
1489
+
1490
+ const determinant = Matrix3.determinant(matrix);
1491
+
1492
+ //>>includeStart('debug', pragmas.debug);
1493
+ if (Math.abs(determinant) <= CesiumMath.EPSILON15) {
1494
+ throw new DeveloperError("matrix is not invertible");
1495
+ }
1496
+ //>>includeEnd('debug');
1497
+
1498
+ result[0] = m22 * m33 - m23 * m32;
1499
+ result[1] = m23 * m31 - m21 * m33;
1500
+ result[2] = m21 * m32 - m22 * m31;
1501
+ result[3] = m13 * m32 - m12 * m33;
1502
+ result[4] = m11 * m33 - m13 * m31;
1503
+ result[5] = m12 * m31 - m11 * m32;
1504
+ result[6] = m12 * m23 - m13 * m22;
1505
+ result[7] = m13 * m21 - m11 * m23;
1506
+ result[8] = m11 * m22 - m12 * m21;
1507
+
1508
+ const scale = 1.0 / determinant;
1509
+ return Matrix3.multiplyByScalar(result, scale, result);
1510
+ }
1511
+
1512
+ /**
1513
+ * Computes the inverse transpose of a matrix.
1514
+ *
1515
+ * @param {Matrix3} matrix The matrix to transpose and invert.
1516
+ * @param {Matrix3} result The object onto which to store the result.
1517
+ * @returns {Matrix3} The modified result parameter.
1518
+ */
1519
+ static inverseTranspose(matrix, result) {
1520
+ //>>includeStart('debug', pragmas.debug);
1521
+ Check.typeOf.object("matrix", matrix);
1522
+ Check.typeOf.object("result", result);
1523
+ //>>includeEnd('debug');
1524
+
1525
+ return Matrix3.inverse(
1526
+ Matrix3.transpose(matrix, scratchTransposeMatrix),
1527
+ result,
1528
+ );
1529
+ }
1530
+
1531
+ /**
1532
+ * Compares the provided matrices componentwise and returns
1533
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
1534
+ *
1535
+ * @param {Matrix3} [left] The first matrix.
1536
+ * @param {Matrix3} [right] The second matrix.
1537
+ * @returns {boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
1538
+ */
1539
+ static equals(left, right) {
1540
+ return (
1541
+ left === right ||
1542
+ (defined(left) &&
1543
+ defined(right) &&
1544
+ left[0] === right[0] &&
1545
+ left[1] === right[1] &&
1546
+ left[2] === right[2] &&
1547
+ left[3] === right[3] &&
1548
+ left[4] === right[4] &&
1549
+ left[5] === right[5] &&
1550
+ left[6] === right[6] &&
1551
+ left[7] === right[7] &&
1552
+ left[8] === right[8])
1553
+ );
1554
+ }
1555
+
1556
+ /**
1557
+ * Compares the provided matrices componentwise and returns
1558
+ * <code>true</code> if they are within the provided epsilon,
1559
+ * <code>false</code> otherwise.
1560
+ *
1561
+ * @param {Matrix3} [left] The first matrix.
1562
+ * @param {Matrix3} [right] The second matrix.
1563
+ * @param {number} [epsilon=0] The epsilon to use for equality testing.
1564
+ * @returns {boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
1565
+ */
1566
+ static equalsEpsilon(left, right, epsilon) {
1567
+ epsilon = epsilon ?? 0;
1568
+
1569
+ return (
1570
+ left === right ||
1571
+ (defined(left) &&
1572
+ defined(right) &&
1573
+ Math.abs(left[0] - right[0]) <= epsilon &&
1574
+ Math.abs(left[1] - right[1]) <= epsilon &&
1575
+ Math.abs(left[2] - right[2]) <= epsilon &&
1576
+ Math.abs(left[3] - right[3]) <= epsilon &&
1577
+ Math.abs(left[4] - right[4]) <= epsilon &&
1578
+ Math.abs(left[5] - right[5]) <= epsilon &&
1579
+ Math.abs(left[6] - right[6]) <= epsilon &&
1580
+ Math.abs(left[7] - right[7]) <= epsilon &&
1581
+ Math.abs(left[8] - right[8]) <= epsilon)
1582
+ );
1583
+ }
1584
+
1585
+ /**
1586
+ * Gets the number of items in the collection.
1587
+ *
1588
+ * @type {number}
1589
+ */
1590
+ get length() {
1591
+ return Matrix3.packedLength;
1592
+ }
1593
+
1594
+ /**
1595
+ * Duplicates the provided Matrix3 instance.
1596
+ *
1597
+ * @param {Matrix3} [result] The object onto which to store the result.
1598
+ * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if one was not provided.
1599
+ */
1600
+ clone(result) {
1601
+ return Matrix3.clone(this, result);
1602
+ }
1603
+
1604
+ /**
1605
+ * Compares this matrix to the provided matrix componentwise and returns
1606
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
1607
+ *
1608
+ * @param {Matrix3} [right] The right hand side matrix.
1609
+ * @returns {boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
1610
+ */
1611
+ equals(right) {
1612
+ return Matrix3.equals(this, right);
1613
+ }
1614
+
1615
+ /**
1616
+ * Compares provided matrix and array, starting from a given array offset.
1617
+ *
1618
+ * @param {Matrix3} matrix
1619
+ * @param {number[]} array
1620
+ * @param {number} offset
1621
+ * @private
1622
+ */
1623
+ static equalsArray(matrix, array, offset) {
1624
+ return (
1625
+ matrix[0] === array[offset] &&
1626
+ matrix[1] === array[offset + 1] &&
1627
+ matrix[2] === array[offset + 2] &&
1628
+ matrix[3] === array[offset + 3] &&
1629
+ matrix[4] === array[offset + 4] &&
1630
+ matrix[5] === array[offset + 5] &&
1631
+ matrix[6] === array[offset + 6] &&
1632
+ matrix[7] === array[offset + 7] &&
1633
+ matrix[8] === array[offset + 8]
1634
+ );
1635
+ }
1636
+
1637
+ /**
1638
+ * Compares this matrix to the provided matrix componentwise and returns
1639
+ * <code>true</code> if they are within the provided epsilon,
1640
+ * <code>false</code> otherwise.
1641
+ *
1642
+ * @param {Matrix3} [right] The right hand side matrix.
1643
+ * @param {number} [epsilon=0] The epsilon to use for equality testing.
1644
+ * @returns {boolean} <code>true</code> if they are within the provided epsilon, <code>false</code> otherwise.
1645
+ */
1646
+ equalsEpsilon(right, epsilon) {
1647
+ return Matrix3.equalsEpsilon(this, right, epsilon);
1648
+ }
1649
+
1650
+ /**
1651
+ * Creates a string representing this Matrix with each row being
1652
+ * on a separate line and in the format '(column0, column1, column2)'.
1653
+ *
1654
+ * @returns {string} A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2)'.
1655
+ */
1656
+ toString() {
1657
+ return (
1658
+ `(${this[0]}, ${this[3]}, ${this[6]})\n` +
1659
+ `(${this[1]}, ${this[4]}, ${this[7]})\n` +
1660
+ `(${this[2]}, ${this[5]}, ${this[8]})`
1661
+ );
1662
+ }
1663
+ }
1664
+
1665
+ /**
1666
+ * The number of elements used to pack the object into an array.
1667
+ * @type {number}
1668
+ */
1669
+ Matrix3.packedLength = 9;
1670
+
1671
+ /**
1672
+ * Creates a Matrix3 from 9 consecutive elements in an array.
1673
+ *
1674
+ * @function
1675
+ * @param {number[]} array The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order.
1676
+ * @param {number} [startingIndex=0] The offset into the array of the first element, which corresponds to first column first row position in the matrix.
1677
+ * @param {Matrix3} [result] The object onto which to store the result.
1678
+ * @returns {Matrix3} The modified result parameter or a new Matrix3 instance if one was not provided.
1679
+ *
1680
+ * @example
1681
+ * // Create the Matrix3:
1682
+ * // [1.0, 2.0, 3.0]
1683
+ * // [1.0, 2.0, 3.0]
1684
+ * // [1.0, 2.0, 3.0]
1685
+ *
1686
+ * const v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
1687
+ * const m = Cesium.Matrix3.fromArray(v);
1688
+ *
1689
+ * // Create same Matrix3 with using an offset into an array
1690
+ * const v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0];
1691
+ * const m2 = Cesium.Matrix3.fromArray(v2, 2);
1692
+ */
1693
+ Matrix3.fromArray = Matrix3.unpack;
1694
+
1695
+ /**
1696
+ * An immutable Matrix3 instance initialized to the identity matrix.
1697
+ *
1698
+ * @type {Matrix3}
1699
+ * @constant
1700
+ */
1701
+ Matrix3.IDENTITY = Object.freeze(
1702
+ new Matrix3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0),
1703
+ );
1704
+
1705
+ /**
1706
+ * An immutable Matrix3 instance initialized to the zero matrix.
1707
+ *
1708
+ * @type {Matrix3}
1709
+ * @constant
1710
+ */
1711
+ Matrix3.ZERO = Object.freeze(
1712
+ new Matrix3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0),
1713
+ );
1714
+
1715
+ /**
1716
+ * The index into Matrix3 for column 0, row 0.
1717
+ *
1718
+ * @type {number}
1719
+ * @constant
1720
+ */
1721
+ Matrix3.COLUMN0ROW0 = 0;
1722
+
1723
+ /**
1724
+ * The index into Matrix3 for column 0, row 1.
1725
+ *
1726
+ * @type {number}
1727
+ * @constant
1728
+ */
1729
+ Matrix3.COLUMN0ROW1 = 1;
1730
+
1731
+ /**
1732
+ * The index into Matrix3 for column 0, row 2.
1733
+ *
1734
+ * @type {number}
1735
+ * @constant
1736
+ */
1737
+ Matrix3.COLUMN0ROW2 = 2;
1738
+
1739
+ /**
1740
+ * The index into Matrix3 for column 1, row 0.
1741
+ *
1742
+ * @type {number}
1743
+ * @constant
1744
+ */
1745
+ Matrix3.COLUMN1ROW0 = 3;
1746
+
1747
+ /**
1748
+ * The index into Matrix3 for column 1, row 1.
1749
+ *
1750
+ * @type {number}
1751
+ * @constant
1752
+ */
1753
+ Matrix3.COLUMN1ROW1 = 4;
1754
+
1755
+ /**
1756
+ * The index into Matrix3 for column 1, row 2.
1757
+ *
1758
+ * @type {number}
1759
+ * @constant
1760
+ */
1761
+ Matrix3.COLUMN1ROW2 = 5;
1762
+
1763
+ /**
1764
+ * The index into Matrix3 for column 2, row 0.
1765
+ *
1766
+ * @type {number}
1767
+ * @constant
1768
+ */
1769
+ Matrix3.COLUMN2ROW0 = 6;
1770
+
1771
+ /**
1772
+ * The index into Matrix3 for column 2, row 1.
1773
+ *
1774
+ * @type {number}
1775
+ * @constant
1776
+ */
1777
+ Matrix3.COLUMN2ROW1 = 7;
1778
+
1779
+ /**
1780
+ * The index into Matrix3 for column 2, row 2.
1781
+ *
1782
+ * @type {number}
1783
+ * @constant
1784
+ */
1785
+ Matrix3.COLUMN2ROW2 = 8;
1786
+
1787
+ const scaleScratch1 = new Cartesian3();
1788
+ const scaleScratch2 = new Cartesian3();
1789
+ const scratchColumn = new Cartesian3();
1790
+ const scaleScratch3 = new Cartesian3();
1791
+ const scaleScratch4 = new Cartesian3();
1792
+ const scaleScratch5 = new Cartesian3();
1793
+
1794
+ const jMatrix = new Matrix3();
1795
+ const jMatrixTranspose = new Matrix3();
1796
+ const scratchTransposeMatrix = new Matrix3();
1797
+
1798
+ /**
1799
+ * @param {Matrix3} matrix
1800
+ * @ignore
1801
+ */
1802
+ function computeFrobeniusNorm(matrix) {
1803
+ let norm = 0.0;
1804
+ for (let i = 0; i < 9; ++i) {
1805
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1806
+ const temp = matrix[i];
1807
+ norm += temp * temp;
1808
+ }
1809
+
1810
+ return Math.sqrt(norm);
1811
+ }
1812
+
1813
+ const rowVal = [1, 0, 0];
1814
+ const colVal = [2, 2, 1];
1815
+
1816
+ /**
1817
+ * @param {Matrix3} matrix
1818
+ * @ignore
1819
+ */
1820
+ function offDiagonalFrobeniusNorm(matrix) {
1821
+ // Computes the "off-diagonal" Frobenius norm.
1822
+ // Assumes matrix is symmetric.
1823
+
1824
+ let norm = 0.0;
1825
+ for (let i = 0; i < 3; ++i) {
1826
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1827
+ const temp = matrix[Matrix3.getElementIndex(colVal[i], rowVal[i])];
1828
+ norm += 2.0 * temp * temp;
1829
+ }
1830
+
1831
+ return Math.sqrt(norm);
1832
+ }
1833
+
1834
+ /**
1835
+ * This routine was created based upon Matrix Computations, 3rd ed., by Golub and Van Loan,
1836
+ * section 8.4.2 The 2by2 Symmetric Schur Decomposition.
1837
+ *
1838
+ * The routine takes a matrix, which is assumed to be symmetric, and
1839
+ * finds the largest off-diagonal term, and then creates
1840
+ * a matrix (result) which can be used to help reduce it
1841
+ *
1842
+ * @param {Matrix3} matrix
1843
+ * @param {Matrix3} result
1844
+ * @ignore
1845
+ */
1846
+ function shurDecomposition(matrix, result) {
1847
+ const tolerance = CesiumMath.EPSILON15;
1848
+
1849
+ let maxDiagonal = 0.0;
1850
+ let rotAxis = 1;
1851
+
1852
+ // find pivot (rotAxis) based on max diagonal of matrix
1853
+ for (let i = 0; i < 3; ++i) {
1854
+ const temp = Math.abs(
1855
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1856
+ matrix[Matrix3.getElementIndex(colVal[i], rowVal[i])],
1857
+ );
1858
+ if (temp > maxDiagonal) {
1859
+ rotAxis = i;
1860
+ maxDiagonal = temp;
1861
+ }
1862
+ }
1863
+
1864
+ let c = 1.0;
1865
+ let s = 0.0;
1866
+
1867
+ const p = rowVal[rotAxis];
1868
+ const q = colVal[rotAxis];
1869
+
1870
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1871
+ if (Math.abs(matrix[Matrix3.getElementIndex(q, p)]) > tolerance) {
1872
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1873
+ const qq = matrix[Matrix3.getElementIndex(q, q)];
1874
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1875
+ const pp = matrix[Matrix3.getElementIndex(p, p)];
1876
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1877
+ const qp = matrix[Matrix3.getElementIndex(q, p)];
1878
+
1879
+ const tau = (qq - pp) / 2.0 / qp;
1880
+ let t;
1881
+
1882
+ if (tau < 0.0) {
1883
+ t = -1.0 / (-tau + Math.sqrt(1.0 + tau * tau));
1884
+ } else {
1885
+ t = 1.0 / (tau + Math.sqrt(1.0 + tau * tau));
1886
+ }
1887
+
1888
+ c = 1.0 / Math.sqrt(1.0 + t * t);
1889
+ s = t * c;
1890
+ }
1891
+
1892
+ result = Matrix3.clone(Matrix3.IDENTITY, result);
1893
+
1894
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1895
+ result[Matrix3.getElementIndex(p, p)] = result[
1896
+ Matrix3.getElementIndex(q, q)
1897
+ ] = c;
1898
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1899
+ result[Matrix3.getElementIndex(q, p)] = s;
1900
+ // @ts-expect-error TODO(tsd-jsdoc): Requires index signature support.
1901
+ result[Matrix3.getElementIndex(p, q)] = -s;
1902
+
1903
+ return result;
1904
+ }
1905
+
1906
+ export default Matrix3;