@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,1693 @@
1
+ import ApproximateTerrainHeights from "./ApproximateTerrainHeights.js";
2
+ import ArcType from "./ArcType.js";
3
+ import arrayRemoveDuplicates from "./arrayRemoveDuplicates.js";
4
+ import BoundingSphere from "./BoundingSphere.js";
5
+ import Cartesian3 from "./Cartesian3.js";
6
+ import Cartographic from "./Cartographic.js";
7
+ import Check from "./Check.js";
8
+ import ComponentDatatype from "./ComponentDatatype.js";
9
+ import Frozen from "./Frozen.js";
10
+ import defined from "./defined.js";
11
+ import DeveloperError from "./DeveloperError.js";
12
+ import Ellipsoid from "./Ellipsoid.js";
13
+ import EllipsoidGeodesic from "./EllipsoidGeodesic.js";
14
+ import EllipsoidRhumbLine from "./EllipsoidRhumbLine.js";
15
+ import EncodedCartesian3 from "./EncodedCartesian3.js";
16
+ import GeographicProjection from "./GeographicProjection.js";
17
+ import Geometry from "./Geometry.js";
18
+ import GeometryAttribute from "./GeometryAttribute.js";
19
+ import IntersectionTests from "./IntersectionTests.js";
20
+ import CesiumMath from "./Math.js";
21
+ import Matrix3 from "./Matrix3.js";
22
+ import Plane from "./Plane.js";
23
+ import Quaternion from "./Quaternion.js";
24
+ import Rectangle from "./Rectangle.js";
25
+ import VerticalExaggeration from "./VerticalExaggeration.js";
26
+ import WebMercatorProjection from "./WebMercatorProjection.js";
27
+
28
+ const PROJECTIONS = [GeographicProjection, WebMercatorProjection];
29
+ const PROJECTION_COUNT = PROJECTIONS.length;
30
+
31
+ const MITER_BREAK_SMALL = Math.cos(CesiumMath.toRadians(30.0));
32
+ const MITER_BREAK_LARGE = Math.cos(CesiumMath.toRadians(150.0));
33
+
34
+ // Initial heights for constructing the wall.
35
+ // Keeping WALL_INITIAL_MIN_HEIGHT near the ellipsoid surface helps
36
+ // prevent precision problems with planes in the shader.
37
+ // Putting the start point of a plane at ApproximateTerrainHeights._defaultMinTerrainHeight,
38
+ // which is a highly conservative bound, usually puts the plane origin several thousands
39
+ // of meters away from the actual terrain, causing floating point problems when checking
40
+ // fragments on terrain against the plane.
41
+ // Ellipsoid height is generally much closer.
42
+ // The initial max height is arbitrary.
43
+ // Both heights are corrected using ApproximateTerrainHeights for computing the actual volume geometry.
44
+ const WALL_INITIAL_MIN_HEIGHT = 0.0;
45
+ const WALL_INITIAL_MAX_HEIGHT = 1000.0;
46
+
47
+ /**
48
+ * A description of a polyline on terrain or 3D Tiles. Only to be used with {@link GroundPolylinePrimitive}.
49
+ *
50
+ * @alias GroundPolylineGeometry
51
+ * @constructor
52
+ *
53
+ * @param {object} options Options with the following properties:
54
+ * @param {Cartesian3[]} options.positions An array of {@link Cartesian3} defining the polyline's points. Heights above the ellipsoid will be ignored.
55
+ * @param {number} [options.width=1.0] The screen space width in pixels.
56
+ * @param {number} [options.granularity=9999.0] The distance interval in meters used for interpolating options.points. Defaults to 9999.0 meters. Zero indicates no interpolation.
57
+ * @param {boolean} [options.loop=false] Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop.
58
+ * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of line the polyline segments must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
59
+ * @param {number} [options.verticalExaggeration=1.0] Scalar applied with {@link VerticalExaggeration.getHeight} to the shadow volume minimum and maximum terrain heights so the volume matches {@link Scene#verticalExaggeration}.
60
+ * @param {number} [options.verticalExaggerationRelativeHeight=0.0] Relative height passed to {@link VerticalExaggeration.getHeight} with <code>verticalExaggeration</code>.
61
+ *
62
+ * @exception {DeveloperError} At least two positions are required.
63
+ *
64
+ * @see GroundPolylinePrimitive
65
+ *
66
+ * @example
67
+ * const positions = Cesium.Cartesian3.fromDegreesArray([
68
+ * -112.1340164450331, 36.05494287836128,
69
+ * -112.08821010582645, 36.097804071380715,
70
+ * -112.13296079730024, 36.168769146801104
71
+ * ]);
72
+ *
73
+ * const geometry = new Cesium.GroundPolylineGeometry({
74
+ * positions : positions
75
+ * });
76
+ */
77
+ function GroundPolylineGeometry(options) {
78
+ options = options ?? Frozen.EMPTY_OBJECT;
79
+ const positions = options.positions;
80
+
81
+ //>>includeStart('debug', pragmas.debug);
82
+ if (!defined(positions) || positions.length < 2) {
83
+ throw new DeveloperError("At least two positions are required.");
84
+ }
85
+ if (
86
+ defined(options.arcType) &&
87
+ options.arcType !== ArcType.GEODESIC &&
88
+ options.arcType !== ArcType.RHUMB
89
+ ) {
90
+ throw new DeveloperError(
91
+ "Valid options for arcType are ArcType.GEODESIC and ArcType.RHUMB.",
92
+ );
93
+ }
94
+ //>>includeEnd('debug');
95
+
96
+ /**
97
+ * The screen space width in pixels.
98
+ * @type {number}
99
+ */
100
+ this.width = options.width ?? 1.0; // Doesn't get packed, not necessary for computing geometry.
101
+
102
+ this._positions = positions;
103
+
104
+ /**
105
+ * The distance interval used for interpolating options.points. Zero indicates no interpolation.
106
+ * Default of 9999.0 allows centimeter accuracy with 32 bit floating point.
107
+ * @type {boolean}
108
+ * @default 9999.0
109
+ */
110
+ this.granularity = options.granularity ?? 9999.0;
111
+
112
+ /**
113
+ * Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop.
114
+ * If the geometry has two positions this parameter will be ignored.
115
+ * @type {boolean}
116
+ * @default false
117
+ */
118
+ this.loop = options.loop ?? false;
119
+
120
+ /**
121
+ * The type of path the polyline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
122
+ * @type {ArcType}
123
+ * @default ArcType.GEODESIC
124
+ */
125
+ this.arcType = options.arcType ?? ArcType.GEODESIC;
126
+
127
+ this._ellipsoid = Ellipsoid.default;
128
+
129
+ // MapProjections can't be packed, so store the index to a known MapProjection.
130
+ this._projectionIndex = 0;
131
+ this._workerName = "createGroundPolylineGeometry";
132
+
133
+ // Used by GroundPolylinePrimitive to signal worker that scenemode is 3D only.
134
+ this._scene3DOnly = false;
135
+
136
+ /**
137
+ * @private
138
+ */
139
+ this._verticalExaggeration = options.verticalExaggeration ?? 1.0;
140
+ /**
141
+ * @private
142
+ */
143
+ this._verticalExaggerationRelativeHeight =
144
+ options.verticalExaggerationRelativeHeight ?? 0.0;
145
+ }
146
+
147
+ Object.defineProperties(GroundPolylineGeometry.prototype, {
148
+ /**
149
+ * The number of elements used to pack the object into an array.
150
+ * @memberof GroundPolylineGeometry.prototype
151
+ * @type {number}
152
+ * @readonly
153
+ * @private
154
+ */
155
+ packedLength: {
156
+ get: function () {
157
+ return (
158
+ 1.0 +
159
+ this._positions.length * 3 +
160
+ 1.0 +
161
+ 1.0 +
162
+ 1.0 +
163
+ Ellipsoid.packedLength +
164
+ 1.0 +
165
+ 1.0 +
166
+ 1.0 +
167
+ 1.0
168
+ );
169
+ },
170
+ },
171
+ });
172
+
173
+ /**
174
+ * Set the GroundPolylineGeometry's projection and ellipsoid.
175
+ * Used by GroundPolylinePrimitive to signal scene information to the geometry for generating 2D attributes.
176
+ *
177
+ * @param {GroundPolylineGeometry} groundPolylineGeometry GroundPolylinGeometry describing a polyline on terrain or 3D Tiles.
178
+ * @param {Projection} mapProjection A MapProjection used for projecting cartographic coordinates to 2D.
179
+ * @private
180
+ */
181
+ GroundPolylineGeometry.setProjectionAndEllipsoid = function (
182
+ groundPolylineGeometry,
183
+ mapProjection,
184
+ ) {
185
+ let projectionIndex = 0;
186
+ for (let i = 0; i < PROJECTION_COUNT; i++) {
187
+ if (mapProjection instanceof PROJECTIONS[i]) {
188
+ projectionIndex = i;
189
+ break;
190
+ }
191
+ }
192
+
193
+ groundPolylineGeometry._projectionIndex = projectionIndex;
194
+ groundPolylineGeometry._ellipsoid = mapProjection.ellipsoid;
195
+ };
196
+
197
+ const cart3Scratch1 = new Cartesian3();
198
+ const cart3Scratch2 = new Cartesian3();
199
+ const cart3Scratch3 = new Cartesian3();
200
+ function computeRightNormal(start, end, maxHeight, ellipsoid, result) {
201
+ const startBottom = getPosition(ellipsoid, start, 0.0, cart3Scratch1);
202
+ const startTop = getPosition(ellipsoid, start, maxHeight, cart3Scratch2);
203
+ const endBottom = getPosition(ellipsoid, end, 0.0, cart3Scratch3);
204
+
205
+ const up = direction(startTop, startBottom, cart3Scratch2);
206
+ const forward = direction(endBottom, startBottom, cart3Scratch3);
207
+
208
+ Cartesian3.cross(forward, up, result);
209
+ return Cartesian3.normalize(result, result);
210
+ }
211
+
212
+ const interpolatedCartographicScratch = new Cartographic();
213
+ const interpolatedBottomScratch = new Cartesian3();
214
+ const interpolatedTopScratch = new Cartesian3();
215
+ const interpolatedNormalScratch = new Cartesian3();
216
+ function interpolateSegment(
217
+ start,
218
+ end,
219
+ minHeight,
220
+ maxHeight,
221
+ granularity,
222
+ arcType,
223
+ ellipsoid,
224
+ normalsArray,
225
+ bottomPositionsArray,
226
+ topPositionsArray,
227
+ cartographicsArray,
228
+ ) {
229
+ if (granularity === 0.0) {
230
+ return;
231
+ }
232
+
233
+ let ellipsoidLine;
234
+ if (arcType === ArcType.GEODESIC) {
235
+ ellipsoidLine = new EllipsoidGeodesic(start, end, ellipsoid);
236
+ } else if (arcType === ArcType.RHUMB) {
237
+ ellipsoidLine = new EllipsoidRhumbLine(start, end, ellipsoid);
238
+ }
239
+
240
+ const surfaceDistance = ellipsoidLine.surfaceDistance;
241
+ if (surfaceDistance < granularity) {
242
+ return;
243
+ }
244
+
245
+ // Compute rightwards normal applicable at all interpolated points
246
+ const interpolatedNormal = computeRightNormal(
247
+ start,
248
+ end,
249
+ maxHeight,
250
+ ellipsoid,
251
+ interpolatedNormalScratch,
252
+ );
253
+
254
+ const segments = Math.ceil(surfaceDistance / granularity);
255
+ const interpointDistance = surfaceDistance / segments;
256
+ let distanceFromStart = interpointDistance;
257
+ const pointsToAdd = segments - 1;
258
+ let packIndex = normalsArray.length;
259
+ for (let i = 0; i < pointsToAdd; i++) {
260
+ const interpolatedCartographic =
261
+ ellipsoidLine.interpolateUsingSurfaceDistance(
262
+ distanceFromStart,
263
+ interpolatedCartographicScratch,
264
+ );
265
+ const interpolatedBottom = getPosition(
266
+ ellipsoid,
267
+ interpolatedCartographic,
268
+ minHeight,
269
+ interpolatedBottomScratch,
270
+ );
271
+ const interpolatedTop = getPosition(
272
+ ellipsoid,
273
+ interpolatedCartographic,
274
+ maxHeight,
275
+ interpolatedTopScratch,
276
+ );
277
+
278
+ Cartesian3.pack(interpolatedNormal, normalsArray, packIndex);
279
+ Cartesian3.pack(interpolatedBottom, bottomPositionsArray, packIndex);
280
+ Cartesian3.pack(interpolatedTop, topPositionsArray, packIndex);
281
+ cartographicsArray.push(interpolatedCartographic.latitude);
282
+ cartographicsArray.push(interpolatedCartographic.longitude);
283
+
284
+ packIndex += 3;
285
+ distanceFromStart += interpointDistance;
286
+ }
287
+ }
288
+
289
+ const heightlessCartographicScratch = new Cartographic();
290
+ function getPosition(ellipsoid, cartographic, height, result) {
291
+ Cartographic.clone(cartographic, heightlessCartographicScratch);
292
+ heightlessCartographicScratch.height = height;
293
+ return Cartographic.toCartesian(
294
+ heightlessCartographicScratch,
295
+ ellipsoid,
296
+ result,
297
+ );
298
+ }
299
+
300
+ /**
301
+ * Stores the provided instance into the provided array.
302
+ *
303
+ * @param {PolygonGeometry} value The value to pack.
304
+ * @param {number[]} array The array to pack into.
305
+ * @param {number} [startingIndex=0] The index into the array at which to start packing the elements.
306
+ *
307
+ * @returns {number[]} The array that was packed into
308
+ */
309
+ GroundPolylineGeometry.pack = function (value, array, startingIndex) {
310
+ //>>includeStart('debug', pragmas.debug);
311
+ Check.typeOf.object("value", value);
312
+ Check.defined("array", array);
313
+ //>>includeEnd('debug');
314
+
315
+ let index = startingIndex ?? 0;
316
+
317
+ const positions = value._positions;
318
+ const positionsLength = positions.length;
319
+
320
+ array[index++] = positionsLength;
321
+
322
+ for (let i = 0; i < positionsLength; ++i) {
323
+ const cartesian = positions[i];
324
+ Cartesian3.pack(cartesian, array, index);
325
+ index += 3;
326
+ }
327
+
328
+ array[index++] = value.granularity;
329
+ array[index++] = value.loop ? 1.0 : 0.0;
330
+ array[index++] = value.arcType;
331
+
332
+ Ellipsoid.pack(value._ellipsoid, array, index);
333
+ index += Ellipsoid.packedLength;
334
+
335
+ array[index++] = value._projectionIndex;
336
+ array[index++] = value._scene3DOnly ? 1.0 : 0.0;
337
+ array[index++] = value._verticalExaggeration;
338
+ array[index++] = value._verticalExaggerationRelativeHeight;
339
+
340
+ return array;
341
+ };
342
+
343
+ /**
344
+ * Retrieves an instance from a packed array.
345
+ *
346
+ * @param {number[]} array The packed array.
347
+ * @param {number} [startingIndex=0] The starting index of the element to be unpacked.
348
+ * @param {PolygonGeometry} [result] The object into which to store the result.
349
+ */
350
+ GroundPolylineGeometry.unpack = function (array, startingIndex, result) {
351
+ //>>includeStart('debug', pragmas.debug);
352
+ Check.defined("array", array);
353
+ //>>includeEnd('debug');
354
+
355
+ let index = startingIndex ?? 0;
356
+ const positionsLength = array[index++];
357
+ const positions = new Array(positionsLength);
358
+
359
+ for (let i = 0; i < positionsLength; i++) {
360
+ positions[i] = Cartesian3.unpack(array, index);
361
+ index += 3;
362
+ }
363
+
364
+ const granularity = array[index++];
365
+ const loop = array[index++] === 1.0;
366
+ const arcType = array[index++];
367
+
368
+ const ellipsoid = Ellipsoid.unpack(array, index);
369
+ index += Ellipsoid.packedLength;
370
+
371
+ const projectionIndex = array[index++];
372
+ const scene3DOnly = array[index++] === 1.0;
373
+ const verticalExaggeration = array[index++];
374
+ const verticalExaggerationRelativeHeight = array[index++];
375
+
376
+ if (!defined(result)) {
377
+ result = new GroundPolylineGeometry({
378
+ positions: positions,
379
+ });
380
+ }
381
+
382
+ result._positions = positions;
383
+ result.granularity = granularity;
384
+ result.loop = loop;
385
+ result.arcType = arcType;
386
+ result._ellipsoid = ellipsoid;
387
+ result._projectionIndex = projectionIndex;
388
+ result._scene3DOnly = scene3DOnly;
389
+ result._verticalExaggeration = verticalExaggeration;
390
+ result._verticalExaggerationRelativeHeight =
391
+ verticalExaggerationRelativeHeight;
392
+
393
+ return result;
394
+ };
395
+
396
+ function direction(target, origin, result) {
397
+ Cartesian3.subtract(target, origin, result);
398
+ Cartesian3.normalize(result, result);
399
+ return result;
400
+ }
401
+
402
+ function tangentDirection(target, origin, up, result) {
403
+ result = direction(target, origin, result);
404
+
405
+ // orthogonalize
406
+ result = Cartesian3.cross(result, up, result);
407
+ result = Cartesian3.normalize(result, result);
408
+ result = Cartesian3.cross(up, result, result);
409
+ return result;
410
+ }
411
+
412
+ const toPreviousScratch = new Cartesian3();
413
+ const toNextScratch = new Cartesian3();
414
+ const forwardScratch = new Cartesian3();
415
+ const vertexUpScratch = new Cartesian3();
416
+ const cosine90 = 0.0;
417
+ const cosine180 = -1.0;
418
+ function computeVertexMiterNormal(
419
+ previousBottom,
420
+ vertexBottom,
421
+ vertexTop,
422
+ nextBottom,
423
+ result,
424
+ ) {
425
+ const up = direction(vertexTop, vertexBottom, vertexUpScratch);
426
+
427
+ // Compute vectors pointing towards neighboring points but tangent to this point on the ellipsoid
428
+ const toPrevious = tangentDirection(
429
+ previousBottom,
430
+ vertexBottom,
431
+ up,
432
+ toPreviousScratch,
433
+ );
434
+ const toNext = tangentDirection(nextBottom, vertexBottom, up, toNextScratch);
435
+
436
+ // Check if tangents are almost opposite - if so, no need to miter.
437
+ if (
438
+ CesiumMath.equalsEpsilon(
439
+ Cartesian3.dot(toPrevious, toNext),
440
+ cosine180,
441
+ CesiumMath.EPSILON5,
442
+ )
443
+ ) {
444
+ result = Cartesian3.cross(up, toPrevious, result);
445
+ result = Cartesian3.normalize(result, result);
446
+ return result;
447
+ }
448
+
449
+ // Average directions to previous and to next in the plane of Up
450
+ result = Cartesian3.add(toNext, toPrevious, result);
451
+ result = Cartesian3.normalize(result, result);
452
+
453
+ // Flip the normal if it isn't pointing roughly bound right (aka if forward is pointing more "backwards")
454
+ const forward = Cartesian3.cross(up, result, forwardScratch);
455
+ if (Cartesian3.dot(toNext, forward) < cosine90) {
456
+ result = Cartesian3.negate(result, result);
457
+ }
458
+
459
+ return result;
460
+ }
461
+
462
+ const XZ_PLANE = Plane.fromPointNormal(Cartesian3.ZERO, Cartesian3.UNIT_Y);
463
+
464
+ const previousBottomScratch = new Cartesian3();
465
+ const vertexBottomScratch = new Cartesian3();
466
+ const vertexTopScratch = new Cartesian3();
467
+ const nextBottomScratch = new Cartesian3();
468
+ const vertexNormalScratch = new Cartesian3();
469
+ const intersectionScratch = new Cartesian3();
470
+ const cartographicScratch0 = new Cartographic();
471
+ const cartographicScratch1 = new Cartographic();
472
+ const cartographicIntersectionScratch = new Cartographic();
473
+ /**
474
+ * Computes shadow volumes for the ground polyline, consisting of its vertices, indices, and a bounding sphere.
475
+ * Vertices are "fat," packing all the data needed in each volume to describe a line on terrain or 3D Tiles.
476
+ * Should not be called independent of {@link GroundPolylinePrimitive}.
477
+ *
478
+ * @param {GroundPolylineGeometry} groundPolylineGeometry
479
+ * @private
480
+ */
481
+ GroundPolylineGeometry.createGeometry = function (groundPolylineGeometry) {
482
+ const compute2dAttributes = !groundPolylineGeometry._scene3DOnly;
483
+ let loop = groundPolylineGeometry.loop;
484
+ const ellipsoid = groundPolylineGeometry._ellipsoid;
485
+ const granularity = groundPolylineGeometry.granularity;
486
+ const arcType = groundPolylineGeometry.arcType;
487
+ const projection = new PROJECTIONS[groundPolylineGeometry._projectionIndex](
488
+ ellipsoid,
489
+ );
490
+
491
+ const minHeight = WALL_INITIAL_MIN_HEIGHT;
492
+ const maxHeight = WALL_INITIAL_MAX_HEIGHT;
493
+
494
+ let index;
495
+ let i;
496
+
497
+ const positions = groundPolylineGeometry._positions;
498
+ const positionsLength = positions.length;
499
+
500
+ if (positionsLength === 2) {
501
+ loop = false;
502
+ }
503
+
504
+ // Split positions across the IDL and the Prime Meridian as well.
505
+ // Split across prime meridian because very large geometries crossing the Prime Meridian but not the IDL
506
+ // may get split by the plane of IDL + Prime Meridian.
507
+ let p0;
508
+ let p1;
509
+ let c0;
510
+ let c1;
511
+ const rhumbLine = new EllipsoidRhumbLine(undefined, undefined, ellipsoid);
512
+ let intersection;
513
+ let intersectionCartographic;
514
+ let intersectionLongitude;
515
+ const splitPositions = [positions[0]];
516
+ for (i = 0; i < positionsLength - 1; i++) {
517
+ p0 = positions[i];
518
+ p1 = positions[i + 1];
519
+ intersection = IntersectionTests.lineSegmentPlane(
520
+ p0,
521
+ p1,
522
+ XZ_PLANE,
523
+ intersectionScratch,
524
+ );
525
+ if (
526
+ defined(intersection) &&
527
+ !Cartesian3.equalsEpsilon(intersection, p0, CesiumMath.EPSILON7) &&
528
+ !Cartesian3.equalsEpsilon(intersection, p1, CesiumMath.EPSILON7)
529
+ ) {
530
+ if (groundPolylineGeometry.arcType === ArcType.GEODESIC) {
531
+ splitPositions.push(Cartesian3.clone(intersection));
532
+ } else if (groundPolylineGeometry.arcType === ArcType.RHUMB) {
533
+ intersectionLongitude = ellipsoid.cartesianToCartographic(
534
+ intersection,
535
+ cartographicScratch0,
536
+ ).longitude;
537
+ c0 = ellipsoid.cartesianToCartographic(p0, cartographicScratch0);
538
+ c1 = ellipsoid.cartesianToCartographic(p1, cartographicScratch1);
539
+ rhumbLine.setEndPoints(c0, c1);
540
+ intersectionCartographic = rhumbLine.findIntersectionWithLongitude(
541
+ intersectionLongitude,
542
+ cartographicIntersectionScratch,
543
+ );
544
+ intersection = ellipsoid.cartographicToCartesian(
545
+ intersectionCartographic,
546
+ intersectionScratch,
547
+ );
548
+ if (
549
+ defined(intersection) &&
550
+ !Cartesian3.equalsEpsilon(intersection, p0, CesiumMath.EPSILON7) &&
551
+ !Cartesian3.equalsEpsilon(intersection, p1, CesiumMath.EPSILON7)
552
+ ) {
553
+ splitPositions.push(Cartesian3.clone(intersection));
554
+ }
555
+ }
556
+ }
557
+ splitPositions.push(p1);
558
+ }
559
+
560
+ if (loop) {
561
+ p0 = positions[positionsLength - 1];
562
+ p1 = positions[0];
563
+ intersection = IntersectionTests.lineSegmentPlane(
564
+ p0,
565
+ p1,
566
+ XZ_PLANE,
567
+ intersectionScratch,
568
+ );
569
+ if (
570
+ defined(intersection) &&
571
+ !Cartesian3.equalsEpsilon(intersection, p0, CesiumMath.EPSILON7) &&
572
+ !Cartesian3.equalsEpsilon(intersection, p1, CesiumMath.EPSILON7)
573
+ ) {
574
+ if (groundPolylineGeometry.arcType === ArcType.GEODESIC) {
575
+ splitPositions.push(Cartesian3.clone(intersection));
576
+ } else if (groundPolylineGeometry.arcType === ArcType.RHUMB) {
577
+ intersectionLongitude = ellipsoid.cartesianToCartographic(
578
+ intersection,
579
+ cartographicScratch0,
580
+ ).longitude;
581
+ c0 = ellipsoid.cartesianToCartographic(p0, cartographicScratch0);
582
+ c1 = ellipsoid.cartesianToCartographic(p1, cartographicScratch1);
583
+ rhumbLine.setEndPoints(c0, c1);
584
+ intersectionCartographic = rhumbLine.findIntersectionWithLongitude(
585
+ intersectionLongitude,
586
+ cartographicIntersectionScratch,
587
+ );
588
+ intersection = ellipsoid.cartographicToCartesian(
589
+ intersectionCartographic,
590
+ intersectionScratch,
591
+ );
592
+ if (
593
+ defined(intersection) &&
594
+ !Cartesian3.equalsEpsilon(intersection, p0, CesiumMath.EPSILON7) &&
595
+ !Cartesian3.equalsEpsilon(intersection, p1, CesiumMath.EPSILON7)
596
+ ) {
597
+ splitPositions.push(Cartesian3.clone(intersection));
598
+ }
599
+ }
600
+ }
601
+ }
602
+ let cartographicsLength = splitPositions.length;
603
+
604
+ let cartographics = new Array(cartographicsLength);
605
+ for (i = 0; i < cartographicsLength; i++) {
606
+ const cartographic = Cartographic.fromCartesian(
607
+ splitPositions[i],
608
+ ellipsoid,
609
+ );
610
+ cartographic.height = 0.0;
611
+ cartographics[i] = cartographic;
612
+ }
613
+
614
+ cartographics = arrayRemoveDuplicates(
615
+ cartographics,
616
+ Cartographic.equalsEpsilon,
617
+ );
618
+ cartographicsLength = cartographics.length;
619
+
620
+ if (cartographicsLength < 2) {
621
+ return undefined;
622
+ }
623
+
624
+ /**** Build heap-side arrays for positions, interpolated cartographics, and normals from which to compute vertices ****/
625
+ // We build a "wall" and then decompose it into separately connected component "volumes" because we need a lot
626
+ // of information about the wall. Also, this simplifies interpolation.
627
+ // Convention: "next" and "end" are locally forward to each segment of the wall,
628
+ // and we are computing normals pointing towards the local right side of the vertices in each segment.
629
+ const cartographicsArray = [];
630
+ const normalsArray = [];
631
+ const bottomPositionsArray = [];
632
+ const topPositionsArray = [];
633
+
634
+ let previousBottom = previousBottomScratch;
635
+ let vertexBottom = vertexBottomScratch;
636
+ let vertexTop = vertexTopScratch;
637
+ let nextBottom = nextBottomScratch;
638
+ let vertexNormal = vertexNormalScratch;
639
+
640
+ // First point - either loop or attach a "perpendicular" normal
641
+ const startCartographic = cartographics[0];
642
+ const nextCartographic = cartographics[1];
643
+
644
+ const prestartCartographic = cartographics[cartographicsLength - 1];
645
+ previousBottom = getPosition(
646
+ ellipsoid,
647
+ prestartCartographic,
648
+ minHeight,
649
+ previousBottom,
650
+ );
651
+ nextBottom = getPosition(ellipsoid, nextCartographic, minHeight, nextBottom);
652
+ vertexBottom = getPosition(
653
+ ellipsoid,
654
+ startCartographic,
655
+ minHeight,
656
+ vertexBottom,
657
+ );
658
+ vertexTop = getPosition(ellipsoid, startCartographic, maxHeight, vertexTop);
659
+
660
+ if (loop) {
661
+ vertexNormal = computeVertexMiterNormal(
662
+ previousBottom,
663
+ vertexBottom,
664
+ vertexTop,
665
+ nextBottom,
666
+ vertexNormal,
667
+ );
668
+ } else {
669
+ vertexNormal = computeRightNormal(
670
+ startCartographic,
671
+ nextCartographic,
672
+ maxHeight,
673
+ ellipsoid,
674
+ vertexNormal,
675
+ );
676
+ }
677
+
678
+ Cartesian3.pack(vertexNormal, normalsArray, 0);
679
+ Cartesian3.pack(vertexBottom, bottomPositionsArray, 0);
680
+ Cartesian3.pack(vertexTop, topPositionsArray, 0);
681
+ cartographicsArray.push(startCartographic.latitude);
682
+ cartographicsArray.push(startCartographic.longitude);
683
+
684
+ interpolateSegment(
685
+ startCartographic,
686
+ nextCartographic,
687
+ minHeight,
688
+ maxHeight,
689
+ granularity,
690
+ arcType,
691
+ ellipsoid,
692
+ normalsArray,
693
+ bottomPositionsArray,
694
+ topPositionsArray,
695
+ cartographicsArray,
696
+ );
697
+
698
+ // All inbetween points
699
+ for (i = 1; i < cartographicsLength - 1; ++i) {
700
+ previousBottom = Cartesian3.clone(vertexBottom, previousBottom);
701
+ vertexBottom = Cartesian3.clone(nextBottom, vertexBottom);
702
+ const vertexCartographic = cartographics[i];
703
+ getPosition(ellipsoid, vertexCartographic, maxHeight, vertexTop);
704
+ getPosition(ellipsoid, cartographics[i + 1], minHeight, nextBottom);
705
+
706
+ computeVertexMiterNormal(
707
+ previousBottom,
708
+ vertexBottom,
709
+ vertexTop,
710
+ nextBottom,
711
+ vertexNormal,
712
+ );
713
+
714
+ index = normalsArray.length;
715
+ Cartesian3.pack(vertexNormal, normalsArray, index);
716
+ Cartesian3.pack(vertexBottom, bottomPositionsArray, index);
717
+ Cartesian3.pack(vertexTop, topPositionsArray, index);
718
+ cartographicsArray.push(vertexCartographic.latitude);
719
+ cartographicsArray.push(vertexCartographic.longitude);
720
+
721
+ interpolateSegment(
722
+ cartographics[i],
723
+ cartographics[i + 1],
724
+ minHeight,
725
+ maxHeight,
726
+ granularity,
727
+ arcType,
728
+ ellipsoid,
729
+ normalsArray,
730
+ bottomPositionsArray,
731
+ topPositionsArray,
732
+ cartographicsArray,
733
+ );
734
+ }
735
+
736
+ // Last point - either loop or attach a normal "perpendicular" to the wall.
737
+ const endCartographic = cartographics[cartographicsLength - 1];
738
+ const preEndCartographic = cartographics[cartographicsLength - 2];
739
+
740
+ vertexBottom = getPosition(
741
+ ellipsoid,
742
+ endCartographic,
743
+ minHeight,
744
+ vertexBottom,
745
+ );
746
+ vertexTop = getPosition(ellipsoid, endCartographic, maxHeight, vertexTop);
747
+
748
+ if (loop) {
749
+ const postEndCartographic = cartographics[0];
750
+ previousBottom = getPosition(
751
+ ellipsoid,
752
+ preEndCartographic,
753
+ minHeight,
754
+ previousBottom,
755
+ );
756
+ nextBottom = getPosition(
757
+ ellipsoid,
758
+ postEndCartographic,
759
+ minHeight,
760
+ nextBottom,
761
+ );
762
+
763
+ vertexNormal = computeVertexMiterNormal(
764
+ previousBottom,
765
+ vertexBottom,
766
+ vertexTop,
767
+ nextBottom,
768
+ vertexNormal,
769
+ );
770
+ } else {
771
+ vertexNormal = computeRightNormal(
772
+ preEndCartographic,
773
+ endCartographic,
774
+ maxHeight,
775
+ ellipsoid,
776
+ vertexNormal,
777
+ );
778
+ }
779
+
780
+ index = normalsArray.length;
781
+ Cartesian3.pack(vertexNormal, normalsArray, index);
782
+ Cartesian3.pack(vertexBottom, bottomPositionsArray, index);
783
+ Cartesian3.pack(vertexTop, topPositionsArray, index);
784
+ cartographicsArray.push(endCartographic.latitude);
785
+ cartographicsArray.push(endCartographic.longitude);
786
+
787
+ if (loop) {
788
+ interpolateSegment(
789
+ endCartographic,
790
+ startCartographic,
791
+ minHeight,
792
+ maxHeight,
793
+ granularity,
794
+ arcType,
795
+ ellipsoid,
796
+ normalsArray,
797
+ bottomPositionsArray,
798
+ topPositionsArray,
799
+ cartographicsArray,
800
+ );
801
+ index = normalsArray.length;
802
+ for (i = 0; i < 3; ++i) {
803
+ normalsArray[index + i] = normalsArray[i];
804
+ bottomPositionsArray[index + i] = bottomPositionsArray[i];
805
+ topPositionsArray[index + i] = topPositionsArray[i];
806
+ }
807
+ cartographicsArray.push(startCartographic.latitude);
808
+ cartographicsArray.push(startCartographic.longitude);
809
+ }
810
+
811
+ return generateGeometryAttributes(
812
+ loop,
813
+ projection,
814
+ bottomPositionsArray,
815
+ topPositionsArray,
816
+ normalsArray,
817
+ cartographicsArray,
818
+ compute2dAttributes,
819
+ groundPolylineGeometry._verticalExaggeration,
820
+ groundPolylineGeometry._verticalExaggerationRelativeHeight,
821
+ );
822
+ };
823
+
824
+ // If the end normal angle is too steep compared to the direction of the line segment,
825
+ // "break" the miter by rotating the normal 90 degrees around the "up" direction at the point
826
+ // For ultra precision we would want to project into a plane, but in practice this is sufficient.
827
+ const lineDirectionScratch = new Cartesian3();
828
+ const matrix3Scratch = new Matrix3();
829
+ const quaternionScratch = new Quaternion();
830
+ function breakMiter(endGeometryNormal, startBottom, endBottom, endTop) {
831
+ const lineDirection = direction(endBottom, startBottom, lineDirectionScratch);
832
+
833
+ const dot = Cartesian3.dot(lineDirection, endGeometryNormal);
834
+ if (dot > MITER_BREAK_SMALL || dot < MITER_BREAK_LARGE) {
835
+ const vertexUp = direction(endTop, endBottom, vertexUpScratch);
836
+ const angle =
837
+ dot < MITER_BREAK_LARGE
838
+ ? CesiumMath.PI_OVER_TWO
839
+ : -CesiumMath.PI_OVER_TWO;
840
+ const quaternion = Quaternion.fromAxisAngle(
841
+ vertexUp,
842
+ angle,
843
+ quaternionScratch,
844
+ );
845
+ const rotationMatrix = Matrix3.fromQuaternion(quaternion, matrix3Scratch);
846
+ Matrix3.multiplyByVector(
847
+ rotationMatrix,
848
+ endGeometryNormal,
849
+ endGeometryNormal,
850
+ );
851
+ return true;
852
+ }
853
+ return false;
854
+ }
855
+
856
+ const endPosCartographicScratch = new Cartographic();
857
+ const normalStartpointScratch = new Cartesian3();
858
+ const normalEndpointScratch = new Cartesian3();
859
+ function projectNormal(
860
+ projection,
861
+ cartographic,
862
+ normal,
863
+ projectedPosition,
864
+ result,
865
+ ) {
866
+ const position = Cartographic.toCartesian(
867
+ cartographic,
868
+ projection._ellipsoid,
869
+ normalStartpointScratch,
870
+ );
871
+ let normalEndpoint = Cartesian3.add(position, normal, normalEndpointScratch);
872
+ let flipNormal = false;
873
+
874
+ const ellipsoid = projection._ellipsoid;
875
+ let normalEndpointCartographic = ellipsoid.cartesianToCartographic(
876
+ normalEndpoint,
877
+ endPosCartographicScratch,
878
+ );
879
+ // If normal crosses the IDL, go the other way and flip the result.
880
+ // In practice this almost never happens because the cartographic start
881
+ // and end points of each segment are "nudged" to be on the same side
882
+ // of the IDL and slightly away from the IDL.
883
+ if (
884
+ Math.abs(cartographic.longitude - normalEndpointCartographic.longitude) >
885
+ CesiumMath.PI_OVER_TWO
886
+ ) {
887
+ flipNormal = true;
888
+ normalEndpoint = Cartesian3.subtract(
889
+ position,
890
+ normal,
891
+ normalEndpointScratch,
892
+ );
893
+ normalEndpointCartographic = ellipsoid.cartesianToCartographic(
894
+ normalEndpoint,
895
+ endPosCartographicScratch,
896
+ );
897
+ }
898
+
899
+ normalEndpointCartographic.height = 0.0;
900
+ const normalEndpointProjected = projection.project(
901
+ normalEndpointCartographic,
902
+ result,
903
+ );
904
+ result = Cartesian3.subtract(
905
+ normalEndpointProjected,
906
+ projectedPosition,
907
+ result,
908
+ );
909
+ result.z = 0.0;
910
+ result = Cartesian3.normalize(result, result);
911
+ if (flipNormal) {
912
+ Cartesian3.negate(result, result);
913
+ }
914
+ return result;
915
+ }
916
+
917
+ const adjustHeightNormalScratch = new Cartesian3();
918
+ const adjustHeightOffsetScratch = new Cartesian3();
919
+ function adjustHeights(
920
+ bottom,
921
+ top,
922
+ minHeight,
923
+ maxHeight,
924
+ adjustHeightBottom,
925
+ adjustHeightTop,
926
+ ) {
927
+ // bottom and top should be at WALL_INITIAL_MIN_HEIGHT and WALL_INITIAL_MAX_HEIGHT, respectively
928
+ const adjustHeightNormal = Cartesian3.subtract(
929
+ top,
930
+ bottom,
931
+ adjustHeightNormalScratch,
932
+ );
933
+ Cartesian3.normalize(adjustHeightNormal, adjustHeightNormal);
934
+
935
+ const distanceForBottom = minHeight - WALL_INITIAL_MIN_HEIGHT;
936
+ let adjustHeightOffset = Cartesian3.multiplyByScalar(
937
+ adjustHeightNormal,
938
+ distanceForBottom,
939
+ adjustHeightOffsetScratch,
940
+ );
941
+ Cartesian3.add(bottom, adjustHeightOffset, adjustHeightBottom);
942
+
943
+ const distanceForTop = maxHeight - WALL_INITIAL_MAX_HEIGHT;
944
+ adjustHeightOffset = Cartesian3.multiplyByScalar(
945
+ adjustHeightNormal,
946
+ distanceForTop,
947
+ adjustHeightOffsetScratch,
948
+ );
949
+ Cartesian3.add(top, adjustHeightOffset, adjustHeightTop);
950
+ }
951
+
952
+ const nudgeDirectionScratch = new Cartesian3();
953
+ function nudgeXZ(start, end) {
954
+ const startToXZdistance = Plane.getPointDistance(XZ_PLANE, start);
955
+ const endToXZdistance = Plane.getPointDistance(XZ_PLANE, end);
956
+ let offset = nudgeDirectionScratch;
957
+ // Larger epsilon than what's used in GeometryPipeline, a centimeter in world space
958
+ if (CesiumMath.equalsEpsilon(startToXZdistance, 0.0, CesiumMath.EPSILON2)) {
959
+ offset = direction(end, start, offset);
960
+ Cartesian3.multiplyByScalar(offset, CesiumMath.EPSILON2, offset);
961
+ Cartesian3.add(start, offset, start);
962
+ } else if (
963
+ CesiumMath.equalsEpsilon(endToXZdistance, 0.0, CesiumMath.EPSILON2)
964
+ ) {
965
+ offset = direction(start, end, offset);
966
+ Cartesian3.multiplyByScalar(offset, CesiumMath.EPSILON2, offset);
967
+ Cartesian3.add(end, offset, end);
968
+ }
969
+ }
970
+
971
+ // "Nudge" cartographic coordinates so start and end are on the same side of the IDL.
972
+ // Nudge amounts are tiny, basically just an IDL flip.
973
+ // Only used for 2D/CV.
974
+ function nudgeCartographic(start, end) {
975
+ const absStartLon = Math.abs(start.longitude);
976
+ const absEndLon = Math.abs(end.longitude);
977
+ if (
978
+ CesiumMath.equalsEpsilon(absStartLon, CesiumMath.PI, CesiumMath.EPSILON11)
979
+ ) {
980
+ const endSign = CesiumMath.sign(end.longitude);
981
+ start.longitude = endSign * (absStartLon - CesiumMath.EPSILON11);
982
+ return 1;
983
+ } else if (
984
+ CesiumMath.equalsEpsilon(absEndLon, CesiumMath.PI, CesiumMath.EPSILON11)
985
+ ) {
986
+ const startSign = CesiumMath.sign(start.longitude);
987
+ end.longitude = startSign * (absEndLon - CesiumMath.EPSILON11);
988
+ return 2;
989
+ }
990
+ return 0;
991
+ }
992
+
993
+ const startCartographicScratch = new Cartographic();
994
+ const endCartographicScratch = new Cartographic();
995
+
996
+ const segmentStartTopScratch = new Cartesian3();
997
+ const segmentEndTopScratch = new Cartesian3();
998
+ const segmentStartBottomScratch = new Cartesian3();
999
+ const segmentEndBottomScratch = new Cartesian3();
1000
+ const segmentStartNormalScratch = new Cartesian3();
1001
+ const segmentEndNormalScratch = new Cartesian3();
1002
+
1003
+ const getHeightCartographics = [
1004
+ startCartographicScratch,
1005
+ endCartographicScratch,
1006
+ ];
1007
+ const getHeightRectangleScratch = new Rectangle();
1008
+
1009
+ const adjustHeightStartTopScratch = new Cartesian3();
1010
+ const adjustHeightEndTopScratch = new Cartesian3();
1011
+ const adjustHeightStartBottomScratch = new Cartesian3();
1012
+ const adjustHeightEndBottomScratch = new Cartesian3();
1013
+
1014
+ const segmentStart2DScratch = new Cartesian3();
1015
+ const segmentEnd2DScratch = new Cartesian3();
1016
+ const segmentStartNormal2DScratch = new Cartesian3();
1017
+ const segmentEndNormal2DScratch = new Cartesian3();
1018
+
1019
+ const offsetScratch = new Cartesian3();
1020
+ const startUpScratch = new Cartesian3();
1021
+ const endUpScratch = new Cartesian3();
1022
+ const rightScratch = new Cartesian3();
1023
+ const startPlaneNormalScratch = new Cartesian3();
1024
+ const endPlaneNormalScratch = new Cartesian3();
1025
+ const encodeScratch = new EncodedCartesian3();
1026
+
1027
+ const encodeScratch2D = new EncodedCartesian3();
1028
+ const forwardOffset2DScratch = new Cartesian3();
1029
+ const right2DScratch = new Cartesian3();
1030
+
1031
+ const normalNudgeScratch = new Cartesian3();
1032
+
1033
+ const scratchBoundingSpheres = [new BoundingSphere(), new BoundingSphere()];
1034
+
1035
+ // Winding order is reversed so each segment's volume is inside-out
1036
+ const REFERENCE_INDICES = [
1037
+ 0,
1038
+ 2,
1039
+ 1,
1040
+ 0,
1041
+ 3,
1042
+ 2, // right
1043
+ 0,
1044
+ 7,
1045
+ 3,
1046
+ 0,
1047
+ 4,
1048
+ 7, // start
1049
+ 0,
1050
+ 5,
1051
+ 4,
1052
+ 0,
1053
+ 1,
1054
+ 5, // bottom
1055
+ 5,
1056
+ 7,
1057
+ 4,
1058
+ 5,
1059
+ 6,
1060
+ 7, // left
1061
+ 5,
1062
+ 2,
1063
+ 6,
1064
+ 5,
1065
+ 1,
1066
+ 2, // end
1067
+ 3,
1068
+ 6,
1069
+ 2,
1070
+ 3,
1071
+ 7,
1072
+ 6, // top
1073
+ ];
1074
+ const REFERENCE_INDICES_LENGTH = REFERENCE_INDICES.length;
1075
+
1076
+ // Decompose the "wall" into a series of shadow volumes.
1077
+ // Each shadow volume's vertices encode a description of the line it contains,
1078
+ // including mitering planes at the end points, a plane along the line itself,
1079
+ // and attributes for computing length-wise texture coordinates.
1080
+ function generateGeometryAttributes(
1081
+ loop,
1082
+ projection,
1083
+ bottomPositionsArray,
1084
+ topPositionsArray,
1085
+ normalsArray,
1086
+ cartographicsArray,
1087
+ compute2dAttributes,
1088
+ verticalExaggeration,
1089
+ verticalExaggerationRelativeHeight,
1090
+ ) {
1091
+ let i;
1092
+ let index;
1093
+ const ellipsoid = projection._ellipsoid;
1094
+
1095
+ // Each segment will have 8 vertices
1096
+ const segmentCount = bottomPositionsArray.length / 3 - 1;
1097
+ const vertexCount = segmentCount * 8;
1098
+ const arraySizeVec4 = vertexCount * 4;
1099
+ const indexCount = segmentCount * 36;
1100
+
1101
+ const indices =
1102
+ vertexCount > 65535
1103
+ ? new Uint32Array(indexCount)
1104
+ : new Uint16Array(indexCount);
1105
+ const positionsArray = new Float64Array(vertexCount * 3);
1106
+
1107
+ const startHiAndForwardOffsetX = new Float32Array(arraySizeVec4);
1108
+ const startLoAndForwardOffsetY = new Float32Array(arraySizeVec4);
1109
+ const startNormalAndForwardOffsetZ = new Float32Array(arraySizeVec4);
1110
+ const endNormalAndTextureCoordinateNormalizationX = new Float32Array(
1111
+ arraySizeVec4,
1112
+ );
1113
+ const rightNormalAndTextureCoordinateNormalizationY = new Float32Array(
1114
+ arraySizeVec4,
1115
+ );
1116
+
1117
+ let startHiLo2D;
1118
+ let offsetAndRight2D;
1119
+ let startEndNormals2D;
1120
+ let texcoordNormalization2D;
1121
+
1122
+ if (compute2dAttributes) {
1123
+ startHiLo2D = new Float32Array(arraySizeVec4);
1124
+ offsetAndRight2D = new Float32Array(arraySizeVec4);
1125
+ startEndNormals2D = new Float32Array(arraySizeVec4);
1126
+ texcoordNormalization2D = new Float32Array(vertexCount * 2);
1127
+ }
1128
+
1129
+ /*** Compute total lengths for texture coordinate normalization ***/
1130
+ // 2D
1131
+ const cartographicsLength = cartographicsArray.length / 2;
1132
+ let length2D = 0.0;
1133
+
1134
+ const startCartographic = startCartographicScratch;
1135
+ startCartographic.height = 0.0;
1136
+ const endCartographic = endCartographicScratch;
1137
+ endCartographic.height = 0.0;
1138
+
1139
+ let segmentStartCartesian = segmentStartTopScratch;
1140
+ let segmentEndCartesian = segmentEndTopScratch;
1141
+
1142
+ if (compute2dAttributes) {
1143
+ index = 0;
1144
+ for (i = 1; i < cartographicsLength; i++) {
1145
+ // Don't clone anything from previous segment b/c possible IDL touch
1146
+ startCartographic.latitude = cartographicsArray[index];
1147
+ startCartographic.longitude = cartographicsArray[index + 1];
1148
+ endCartographic.latitude = cartographicsArray[index + 2];
1149
+ endCartographic.longitude = cartographicsArray[index + 3];
1150
+
1151
+ segmentStartCartesian = projection.project(
1152
+ startCartographic,
1153
+ segmentStartCartesian,
1154
+ );
1155
+ segmentEndCartesian = projection.project(
1156
+ endCartographic,
1157
+ segmentEndCartesian,
1158
+ );
1159
+ length2D += Cartesian3.distance(
1160
+ segmentStartCartesian,
1161
+ segmentEndCartesian,
1162
+ );
1163
+ index += 2;
1164
+ }
1165
+ }
1166
+
1167
+ // 3D
1168
+ const positionsLength = topPositionsArray.length / 3;
1169
+ segmentEndCartesian = Cartesian3.unpack(
1170
+ topPositionsArray,
1171
+ 0,
1172
+ segmentEndCartesian,
1173
+ );
1174
+ let length3D = 0.0;
1175
+
1176
+ index = 3;
1177
+ for (i = 1; i < positionsLength; i++) {
1178
+ segmentStartCartesian = Cartesian3.clone(
1179
+ segmentEndCartesian,
1180
+ segmentStartCartesian,
1181
+ );
1182
+ segmentEndCartesian = Cartesian3.unpack(
1183
+ topPositionsArray,
1184
+ index,
1185
+ segmentEndCartesian,
1186
+ );
1187
+ length3D += Cartesian3.distance(segmentStartCartesian, segmentEndCartesian);
1188
+ index += 3;
1189
+ }
1190
+
1191
+ /*** Generate segments ***/
1192
+ let j;
1193
+ index = 3;
1194
+ let cartographicsIndex = 0;
1195
+ let vec2sWriteIndex = 0;
1196
+ let vec3sWriteIndex = 0;
1197
+ let vec4sWriteIndex = 0;
1198
+ let miterBroken = false;
1199
+
1200
+ let endBottom = Cartesian3.unpack(
1201
+ bottomPositionsArray,
1202
+ 0,
1203
+ segmentEndBottomScratch,
1204
+ );
1205
+ let endTop = Cartesian3.unpack(topPositionsArray, 0, segmentEndTopScratch);
1206
+ let endGeometryNormal = Cartesian3.unpack(
1207
+ normalsArray,
1208
+ 0,
1209
+ segmentEndNormalScratch,
1210
+ );
1211
+
1212
+ if (loop) {
1213
+ const preEndBottom = Cartesian3.unpack(
1214
+ bottomPositionsArray,
1215
+ bottomPositionsArray.length - 6,
1216
+ segmentStartBottomScratch,
1217
+ );
1218
+ if (breakMiter(endGeometryNormal, preEndBottom, endBottom, endTop)) {
1219
+ // Miter broken as if for the last point in the loop, needs to be inverted for first point (clone of endBottom)
1220
+ endGeometryNormal = Cartesian3.negate(
1221
+ endGeometryNormal,
1222
+ endGeometryNormal,
1223
+ );
1224
+ }
1225
+ }
1226
+
1227
+ let lengthSoFar3D = 0.0;
1228
+ let lengthSoFar2D = 0.0;
1229
+
1230
+ // For translating bounding volume
1231
+ let sumHeights = 0.0;
1232
+
1233
+ for (i = 0; i < segmentCount; i++) {
1234
+ const startBottom = Cartesian3.clone(endBottom, segmentStartBottomScratch);
1235
+ const startTop = Cartesian3.clone(endTop, segmentStartTopScratch);
1236
+ let startGeometryNormal = Cartesian3.clone(
1237
+ endGeometryNormal,
1238
+ segmentStartNormalScratch,
1239
+ );
1240
+
1241
+ if (miterBroken) {
1242
+ startGeometryNormal = Cartesian3.negate(
1243
+ startGeometryNormal,
1244
+ startGeometryNormal,
1245
+ );
1246
+ }
1247
+
1248
+ endBottom = Cartesian3.unpack(
1249
+ bottomPositionsArray,
1250
+ index,
1251
+ segmentEndBottomScratch,
1252
+ );
1253
+ endTop = Cartesian3.unpack(topPositionsArray, index, segmentEndTopScratch);
1254
+ endGeometryNormal = Cartesian3.unpack(
1255
+ normalsArray,
1256
+ index,
1257
+ segmentEndNormalScratch,
1258
+ );
1259
+
1260
+ miterBroken = breakMiter(endGeometryNormal, startBottom, endBottom, endTop);
1261
+
1262
+ // 2D - don't clone anything from previous segment b/c possible IDL touch
1263
+ startCartographic.latitude = cartographicsArray[cartographicsIndex];
1264
+ startCartographic.longitude = cartographicsArray[cartographicsIndex + 1];
1265
+ endCartographic.latitude = cartographicsArray[cartographicsIndex + 2];
1266
+ endCartographic.longitude = cartographicsArray[cartographicsIndex + 3];
1267
+ let start2D;
1268
+ let end2D;
1269
+ let startGeometryNormal2D;
1270
+ let endGeometryNormal2D;
1271
+
1272
+ if (compute2dAttributes) {
1273
+ const nudgeResult = nudgeCartographic(startCartographic, endCartographic);
1274
+ start2D = projection.project(startCartographic, segmentStart2DScratch);
1275
+ end2D = projection.project(endCartographic, segmentEnd2DScratch);
1276
+ const direction2D = direction(end2D, start2D, forwardOffset2DScratch);
1277
+ direction2D.y = Math.abs(direction2D.y);
1278
+
1279
+ startGeometryNormal2D = segmentStartNormal2DScratch;
1280
+ endGeometryNormal2D = segmentEndNormal2DScratch;
1281
+ if (
1282
+ nudgeResult === 0 ||
1283
+ Cartesian3.dot(direction2D, Cartesian3.UNIT_Y) > MITER_BREAK_SMALL
1284
+ ) {
1285
+ // No nudge - project the original normal
1286
+ // Or, if the line's angle relative to the IDL is very acute,
1287
+ // in which case snapping will produce oddly shaped volumes.
1288
+ startGeometryNormal2D = projectNormal(
1289
+ projection,
1290
+ startCartographic,
1291
+ startGeometryNormal,
1292
+ start2D,
1293
+ segmentStartNormal2DScratch,
1294
+ );
1295
+ endGeometryNormal2D = projectNormal(
1296
+ projection,
1297
+ endCartographic,
1298
+ endGeometryNormal,
1299
+ end2D,
1300
+ segmentEndNormal2DScratch,
1301
+ );
1302
+ } else if (nudgeResult === 1) {
1303
+ // Start is close to IDL - snap start normal to align with IDL
1304
+ endGeometryNormal2D = projectNormal(
1305
+ projection,
1306
+ endCartographic,
1307
+ endGeometryNormal,
1308
+ end2D,
1309
+ segmentEndNormal2DScratch,
1310
+ );
1311
+ startGeometryNormal2D.x = 0.0;
1312
+ // If start longitude is negative and end longitude is less negative, relative right is unit -Y
1313
+ // If start longitude is positive and end longitude is less positive, relative right is unit +Y
1314
+ startGeometryNormal2D.y = CesiumMath.sign(
1315
+ startCartographic.longitude - Math.abs(endCartographic.longitude),
1316
+ );
1317
+ startGeometryNormal2D.z = 0.0;
1318
+ } else {
1319
+ // End is close to IDL - snap end normal to align with IDL
1320
+ startGeometryNormal2D = projectNormal(
1321
+ projection,
1322
+ startCartographic,
1323
+ startGeometryNormal,
1324
+ start2D,
1325
+ segmentStartNormal2DScratch,
1326
+ );
1327
+ endGeometryNormal2D.x = 0.0;
1328
+ // If end longitude is negative and start longitude is less negative, relative right is unit Y
1329
+ // If end longitude is positive and start longitude is less positive, relative right is unit -Y
1330
+ endGeometryNormal2D.y = CesiumMath.sign(
1331
+ startCartographic.longitude - endCartographic.longitude,
1332
+ );
1333
+ endGeometryNormal2D.z = 0.0;
1334
+ }
1335
+ }
1336
+
1337
+ /****************************************
1338
+ * Geometry descriptors of a "line on terrain,"
1339
+ * as opposed to the "shadow volume used to draw
1340
+ * the line on terrain":
1341
+ * - position of start + offset to end
1342
+ * - start, end, and right-facing planes
1343
+ * - encoded texture coordinate offsets
1344
+ ****************************************/
1345
+
1346
+ /* 3D */
1347
+ const segmentLength3D = Cartesian3.distance(startTop, endTop);
1348
+
1349
+ const encodedStart = EncodedCartesian3.fromCartesian(
1350
+ startBottom,
1351
+ encodeScratch,
1352
+ );
1353
+ const forwardOffset = Cartesian3.subtract(
1354
+ endBottom,
1355
+ startBottom,
1356
+ offsetScratch,
1357
+ );
1358
+ const forward = Cartesian3.normalize(forwardOffset, rightScratch);
1359
+
1360
+ let startUp = Cartesian3.subtract(startTop, startBottom, startUpScratch);
1361
+ startUp = Cartesian3.normalize(startUp, startUp);
1362
+ let rightNormal = Cartesian3.cross(forward, startUp, rightScratch);
1363
+ rightNormal = Cartesian3.normalize(rightNormal, rightNormal);
1364
+
1365
+ let startPlaneNormal = Cartesian3.cross(
1366
+ startUp,
1367
+ startGeometryNormal,
1368
+ startPlaneNormalScratch,
1369
+ );
1370
+ startPlaneNormal = Cartesian3.normalize(startPlaneNormal, startPlaneNormal);
1371
+
1372
+ let endUp = Cartesian3.subtract(endTop, endBottom, endUpScratch);
1373
+ endUp = Cartesian3.normalize(endUp, endUp);
1374
+ let endPlaneNormal = Cartesian3.cross(
1375
+ endGeometryNormal,
1376
+ endUp,
1377
+ endPlaneNormalScratch,
1378
+ );
1379
+ endPlaneNormal = Cartesian3.normalize(endPlaneNormal, endPlaneNormal);
1380
+
1381
+ const texcoordNormalization3DX = segmentLength3D / length3D;
1382
+ const texcoordNormalization3DY = lengthSoFar3D / length3D;
1383
+
1384
+ /* 2D */
1385
+ let segmentLength2D = 0.0;
1386
+ let encodedStart2D;
1387
+ let forwardOffset2D;
1388
+ let right2D;
1389
+ let texcoordNormalization2DX = 0.0;
1390
+ let texcoordNormalization2DY = 0.0;
1391
+ if (compute2dAttributes) {
1392
+ segmentLength2D = Cartesian3.distance(start2D, end2D);
1393
+
1394
+ encodedStart2D = EncodedCartesian3.fromCartesian(
1395
+ start2D,
1396
+ encodeScratch2D,
1397
+ );
1398
+ forwardOffset2D = Cartesian3.subtract(
1399
+ end2D,
1400
+ start2D,
1401
+ forwardOffset2DScratch,
1402
+ );
1403
+
1404
+ // Right direction is just forward direction rotated by -90 degrees around Z
1405
+ // Similarly with plane normals
1406
+ right2D = Cartesian3.normalize(forwardOffset2D, right2DScratch);
1407
+ const swap = right2D.x;
1408
+ right2D.x = right2D.y;
1409
+ right2D.y = -swap;
1410
+
1411
+ texcoordNormalization2DX = segmentLength2D / length2D;
1412
+ texcoordNormalization2DY = lengthSoFar2D / length2D;
1413
+ }
1414
+ /** Pack **/
1415
+ for (j = 0; j < 8; j++) {
1416
+ const vec4Index = vec4sWriteIndex + j * 4;
1417
+ const vec2Index = vec2sWriteIndex + j * 2;
1418
+ const wIndex = vec4Index + 3;
1419
+
1420
+ // Encode sidedness of vertex relative to right plane in texture coordinate normalization X,
1421
+ // whether vertex is top or bottom of volume in sign/magnitude of normalization Y.
1422
+ const rightPlaneSide = j < 4 ? 1.0 : -1.0;
1423
+ const topBottomSide =
1424
+ j === 2 || j === 3 || j === 6 || j === 7 ? 1.0 : -1.0;
1425
+
1426
+ // 3D
1427
+ Cartesian3.pack(encodedStart.high, startHiAndForwardOffsetX, vec4Index);
1428
+ startHiAndForwardOffsetX[wIndex] = forwardOffset.x;
1429
+
1430
+ Cartesian3.pack(encodedStart.low, startLoAndForwardOffsetY, vec4Index);
1431
+ startLoAndForwardOffsetY[wIndex] = forwardOffset.y;
1432
+
1433
+ Cartesian3.pack(
1434
+ startPlaneNormal,
1435
+ startNormalAndForwardOffsetZ,
1436
+ vec4Index,
1437
+ );
1438
+ startNormalAndForwardOffsetZ[wIndex] = forwardOffset.z;
1439
+
1440
+ Cartesian3.pack(
1441
+ endPlaneNormal,
1442
+ endNormalAndTextureCoordinateNormalizationX,
1443
+ vec4Index,
1444
+ );
1445
+ endNormalAndTextureCoordinateNormalizationX[wIndex] =
1446
+ texcoordNormalization3DX * rightPlaneSide;
1447
+
1448
+ Cartesian3.pack(
1449
+ rightNormal,
1450
+ rightNormalAndTextureCoordinateNormalizationY,
1451
+ vec4Index,
1452
+ );
1453
+
1454
+ let texcoordNormalization = texcoordNormalization3DY * topBottomSide;
1455
+ if (texcoordNormalization === 0.0 && topBottomSide < 0.0) {
1456
+ texcoordNormalization = 9.0; // some value greater than 1.0
1457
+ }
1458
+ rightNormalAndTextureCoordinateNormalizationY[wIndex] =
1459
+ texcoordNormalization;
1460
+
1461
+ // 2D
1462
+ if (compute2dAttributes) {
1463
+ startHiLo2D[vec4Index] = encodedStart2D.high.x;
1464
+ startHiLo2D[vec4Index + 1] = encodedStart2D.high.y;
1465
+ startHiLo2D[vec4Index + 2] = encodedStart2D.low.x;
1466
+ startHiLo2D[vec4Index + 3] = encodedStart2D.low.y;
1467
+
1468
+ startEndNormals2D[vec4Index] = -startGeometryNormal2D.y;
1469
+ startEndNormals2D[vec4Index + 1] = startGeometryNormal2D.x;
1470
+ startEndNormals2D[vec4Index + 2] = endGeometryNormal2D.y;
1471
+ startEndNormals2D[vec4Index + 3] = -endGeometryNormal2D.x;
1472
+
1473
+ offsetAndRight2D[vec4Index] = forwardOffset2D.x;
1474
+ offsetAndRight2D[vec4Index + 1] = forwardOffset2D.y;
1475
+ offsetAndRight2D[vec4Index + 2] = right2D.x;
1476
+ offsetAndRight2D[vec4Index + 3] = right2D.y;
1477
+
1478
+ texcoordNormalization2D[vec2Index] =
1479
+ texcoordNormalization2DX * rightPlaneSide;
1480
+
1481
+ texcoordNormalization = texcoordNormalization2DY * topBottomSide;
1482
+ if (texcoordNormalization === 0.0 && topBottomSide < 0.0) {
1483
+ texcoordNormalization = 9.0; // some value greater than 1.0
1484
+ }
1485
+ texcoordNormalization2D[vec2Index + 1] = texcoordNormalization;
1486
+ }
1487
+ }
1488
+
1489
+ // Adjust height of volume in 3D
1490
+ const adjustHeightStartBottom = adjustHeightStartBottomScratch;
1491
+ const adjustHeightEndBottom = adjustHeightEndBottomScratch;
1492
+ const adjustHeightStartTop = adjustHeightStartTopScratch;
1493
+ const adjustHeightEndTop = adjustHeightEndTopScratch;
1494
+
1495
+ const getHeightsRectangle = Rectangle.fromCartographicArray(
1496
+ getHeightCartographics,
1497
+ getHeightRectangleScratch,
1498
+ );
1499
+ const minMaxHeights = ApproximateTerrainHeights.getMinimumMaximumHeights(
1500
+ getHeightsRectangle,
1501
+ ellipsoid,
1502
+ );
1503
+ const minHeight = VerticalExaggeration.getHeight(
1504
+ minMaxHeights.minimumTerrainHeight,
1505
+ verticalExaggeration,
1506
+ verticalExaggerationRelativeHeight,
1507
+ );
1508
+ const maxHeight = VerticalExaggeration.getHeight(
1509
+ minMaxHeights.maximumTerrainHeight,
1510
+ verticalExaggeration,
1511
+ verticalExaggerationRelativeHeight,
1512
+ );
1513
+
1514
+ // Sum using abs() to properly account for negative eleavtions in calculating bounding sphere radius
1515
+ sumHeights += Math.abs(minHeight);
1516
+ sumHeights += Math.abs(maxHeight);
1517
+
1518
+ adjustHeights(
1519
+ startBottom,
1520
+ startTop,
1521
+ minHeight,
1522
+ maxHeight,
1523
+ adjustHeightStartBottom,
1524
+ adjustHeightStartTop,
1525
+ );
1526
+ adjustHeights(
1527
+ endBottom,
1528
+ endTop,
1529
+ minHeight,
1530
+ maxHeight,
1531
+ adjustHeightEndBottom,
1532
+ adjustHeightEndTop,
1533
+ );
1534
+
1535
+ // Nudge the positions away from the "polyline" a little bit to prevent errors in GeometryPipeline
1536
+ let normalNudge = Cartesian3.multiplyByScalar(
1537
+ rightNormal,
1538
+ CesiumMath.EPSILON5,
1539
+ normalNudgeScratch,
1540
+ );
1541
+ Cartesian3.add(
1542
+ adjustHeightStartBottom,
1543
+ normalNudge,
1544
+ adjustHeightStartBottom,
1545
+ );
1546
+ Cartesian3.add(adjustHeightEndBottom, normalNudge, adjustHeightEndBottom);
1547
+ Cartesian3.add(adjustHeightStartTop, normalNudge, adjustHeightStartTop);
1548
+ Cartesian3.add(adjustHeightEndTop, normalNudge, adjustHeightEndTop);
1549
+
1550
+ // If the segment is very close to the XZ plane, nudge the vertices slightly to avoid touching it.
1551
+ nudgeXZ(adjustHeightStartBottom, adjustHeightEndBottom);
1552
+ nudgeXZ(adjustHeightStartTop, adjustHeightEndTop);
1553
+
1554
+ Cartesian3.pack(adjustHeightStartBottom, positionsArray, vec3sWriteIndex);
1555
+ Cartesian3.pack(adjustHeightEndBottom, positionsArray, vec3sWriteIndex + 3);
1556
+ Cartesian3.pack(adjustHeightEndTop, positionsArray, vec3sWriteIndex + 6);
1557
+ Cartesian3.pack(adjustHeightStartTop, positionsArray, vec3sWriteIndex + 9);
1558
+
1559
+ normalNudge = Cartesian3.multiplyByScalar(
1560
+ rightNormal,
1561
+ -2.0 * CesiumMath.EPSILON5,
1562
+ normalNudgeScratch,
1563
+ );
1564
+ Cartesian3.add(
1565
+ adjustHeightStartBottom,
1566
+ normalNudge,
1567
+ adjustHeightStartBottom,
1568
+ );
1569
+ Cartesian3.add(adjustHeightEndBottom, normalNudge, adjustHeightEndBottom);
1570
+ Cartesian3.add(adjustHeightStartTop, normalNudge, adjustHeightStartTop);
1571
+ Cartesian3.add(adjustHeightEndTop, normalNudge, adjustHeightEndTop);
1572
+
1573
+ nudgeXZ(adjustHeightStartBottom, adjustHeightEndBottom);
1574
+ nudgeXZ(adjustHeightStartTop, adjustHeightEndTop);
1575
+
1576
+ Cartesian3.pack(
1577
+ adjustHeightStartBottom,
1578
+ positionsArray,
1579
+ vec3sWriteIndex + 12,
1580
+ );
1581
+ Cartesian3.pack(
1582
+ adjustHeightEndBottom,
1583
+ positionsArray,
1584
+ vec3sWriteIndex + 15,
1585
+ );
1586
+ Cartesian3.pack(adjustHeightEndTop, positionsArray, vec3sWriteIndex + 18);
1587
+ Cartesian3.pack(adjustHeightStartTop, positionsArray, vec3sWriteIndex + 21);
1588
+
1589
+ cartographicsIndex += 2;
1590
+ index += 3;
1591
+
1592
+ vec2sWriteIndex += 16;
1593
+ vec3sWriteIndex += 24;
1594
+ vec4sWriteIndex += 32;
1595
+
1596
+ lengthSoFar3D += segmentLength3D;
1597
+ lengthSoFar2D += segmentLength2D;
1598
+ }
1599
+
1600
+ index = 0;
1601
+ let indexOffset = 0;
1602
+ for (i = 0; i < segmentCount; i++) {
1603
+ for (j = 0; j < REFERENCE_INDICES_LENGTH; j++) {
1604
+ indices[index + j] = REFERENCE_INDICES[j] + indexOffset;
1605
+ }
1606
+ indexOffset += 8;
1607
+ index += REFERENCE_INDICES_LENGTH;
1608
+ }
1609
+
1610
+ const boundingSpheres = scratchBoundingSpheres;
1611
+ BoundingSphere.fromVertices(
1612
+ bottomPositionsArray,
1613
+ Cartesian3.ZERO,
1614
+ 3,
1615
+ boundingSpheres[0],
1616
+ );
1617
+ BoundingSphere.fromVertices(
1618
+ topPositionsArray,
1619
+ Cartesian3.ZERO,
1620
+ 3,
1621
+ boundingSpheres[1],
1622
+ );
1623
+ const boundingSphere = BoundingSphere.fromBoundingSpheres(boundingSpheres);
1624
+
1625
+ // Adjust bounding sphere height and radius to cover more of the volume
1626
+ boundingSphere.radius += sumHeights / (segmentCount * 2.0);
1627
+
1628
+ const attributes = {
1629
+ position: new GeometryAttribute({
1630
+ componentDatatype: ComponentDatatype.DOUBLE,
1631
+ componentsPerAttribute: 3,
1632
+ normalize: false,
1633
+ values: positionsArray,
1634
+ }),
1635
+ startHiAndForwardOffsetX: getVec4GeometryAttribute(
1636
+ startHiAndForwardOffsetX,
1637
+ ),
1638
+ startLoAndForwardOffsetY: getVec4GeometryAttribute(
1639
+ startLoAndForwardOffsetY,
1640
+ ),
1641
+ startNormalAndForwardOffsetZ: getVec4GeometryAttribute(
1642
+ startNormalAndForwardOffsetZ,
1643
+ ),
1644
+ endNormalAndTextureCoordinateNormalizationX: getVec4GeometryAttribute(
1645
+ endNormalAndTextureCoordinateNormalizationX,
1646
+ ),
1647
+ rightNormalAndTextureCoordinateNormalizationY: getVec4GeometryAttribute(
1648
+ rightNormalAndTextureCoordinateNormalizationY,
1649
+ ),
1650
+ };
1651
+
1652
+ if (compute2dAttributes) {
1653
+ attributes.startHiLo2D = getVec4GeometryAttribute(startHiLo2D);
1654
+ attributes.offsetAndRight2D = getVec4GeometryAttribute(offsetAndRight2D);
1655
+ attributes.startEndNormals2D = getVec4GeometryAttribute(startEndNormals2D);
1656
+ attributes.texcoordNormalization2D = new GeometryAttribute({
1657
+ componentDatatype: ComponentDatatype.FLOAT,
1658
+ componentsPerAttribute: 2,
1659
+ normalize: false,
1660
+ values: texcoordNormalization2D,
1661
+ });
1662
+ }
1663
+
1664
+ return new Geometry({
1665
+ attributes: attributes,
1666
+ indices: indices,
1667
+ boundingSphere: boundingSphere,
1668
+ });
1669
+ }
1670
+
1671
+ function getVec4GeometryAttribute(typedArray) {
1672
+ return new GeometryAttribute({
1673
+ componentDatatype: ComponentDatatype.FLOAT,
1674
+ componentsPerAttribute: 4,
1675
+ normalize: false,
1676
+ values: typedArray,
1677
+ });
1678
+ }
1679
+
1680
+ /**
1681
+ * Approximates an ellipsoid-tangent vector in 2D by projecting the end point into 2D.
1682
+ * Exposed for testing.
1683
+ *
1684
+ * @param {MapProjection} projection Map Projection for projecting coordinates to 2D.
1685
+ * @param {Cartographic} cartographic The cartographic origin point of the normal.
1686
+ * Used to check if the normal crosses the IDL during projection.
1687
+ * @param {Cartesian3} normal The normal in 3D.
1688
+ * @param {Cartesian3} projectedPosition The projected origin point of the normal in 2D.
1689
+ * @param {Cartesian3} result Result parameter on which to store the projected normal.
1690
+ * @private
1691
+ */
1692
+ GroundPolylineGeometry._projectNormal = projectNormal;
1693
+ export default GroundPolylineGeometry;