@cesium/engine 0.1.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 (1731) hide show
  1. package/Build/ThirdParty/Workers/basis_transcoder.js +2233 -0
  2. package/Build/ThirdParty/Workers/draco_decoder_nodejs.js +1872 -0
  3. package/Build/ThirdParty/Workers/package.json +1 -0
  4. package/Build/ThirdParty/Workers/pako_deflate.min.js +589 -0
  5. package/Build/ThirdParty/Workers/pako_inflate.min.js +798 -0
  6. package/Build/ThirdParty/Workers/z-worker-pako.js +503 -0
  7. package/Build/ThirdParty/basis_transcoder.wasm +0 -0
  8. package/Build/ThirdParty/draco_decoder.wasm +0 -0
  9. package/Build/ThirdParty/google-earth-dbroot-parser.js +8019 -0
  10. package/Build/Widget/CesiumWidget.css +120 -0
  11. package/Build/Widget/lighter.css +13 -0
  12. package/Build/Workers/ArcType-ce2e50ab.js +37 -0
  13. package/Build/Workers/AttributeCompression-4589338a.js +716 -0
  14. package/Build/Workers/AxisAlignedBoundingBox-bfb1234f.js +258 -0
  15. package/Build/Workers/BoundingRectangle-7ffc2153.js +369 -0
  16. package/Build/Workers/BoxGeometry-93f344a3.js +884 -0
  17. package/Build/Workers/Check-666ab1a0.js +290 -0
  18. package/Build/Workers/Color-0c5aaf47.js +2262 -0
  19. package/Build/Workers/ComponentDatatype-f7b11d02.js +341 -0
  20. package/Build/Workers/CoplanarPolygonGeometryLibrary-6597982a.js +132 -0
  21. package/Build/Workers/CorridorGeometryLibrary-2119580e.js +498 -0
  22. package/Build/Workers/CylinderGeometry-f9503c6d.js +467 -0
  23. package/Build/Workers/CylinderGeometryLibrary-372c07d8.js +63 -0
  24. package/Build/Workers/EllipseGeometry-fedf72d5.js +1304 -0
  25. package/Build/Workers/EllipseGeometryLibrary-4ea68687.js +366 -0
  26. package/Build/Workers/EllipseOutlineGeometry-e2ae6a35.js +443 -0
  27. package/Build/Workers/EllipsoidGeodesic-16de63ea.js +520 -0
  28. package/Build/Workers/EllipsoidGeometry-95c0330e.js +637 -0
  29. package/Build/Workers/EllipsoidOutlineGeometry-d6d2ceec.js +454 -0
  30. package/Build/Workers/EllipsoidRhumbLine-ae5e65e0.js +741 -0
  31. package/Build/Workers/EllipsoidTangentPlane-bfc674bf.js +373 -0
  32. package/Build/Workers/EncodedCartesian3-f473ea18.js +171 -0
  33. package/Build/Workers/FrustumGeometry-3bf2e4eb.js +2512 -0
  34. package/Build/Workers/GeometryAttribute-df5f473e.js +619 -0
  35. package/Build/Workers/GeometryAttributes-f06a2792.js +91 -0
  36. package/Build/Workers/GeometryInstance-aa75b4cf.js +121 -0
  37. package/Build/Workers/GeometryOffsetAttribute-04332ce7.js +16 -0
  38. package/Build/Workers/GeometryPipeline-f0e46c42.js +3690 -0
  39. package/Build/Workers/IndexDatatype-a55ceaa1.js +200 -0
  40. package/Build/Workers/IntersectionTests-9de29d51.js +1836 -0
  41. package/Build/Workers/Math-2dbd6b93.js +1330 -0
  42. package/Build/Workers/Matrix2-ce637455.js +7084 -0
  43. package/Build/Workers/Matrix3-4f4df527.js +4282 -0
  44. package/Build/Workers/OrientedBoundingBox-d3ff3d4d.js +1257 -0
  45. package/Build/Workers/Plane-b81241c2.js +309 -0
  46. package/Build/Workers/PolygonGeometryLibrary-6f4937bb.js +1074 -0
  47. package/Build/Workers/PolygonPipeline-774a8aaf.js +1341 -0
  48. package/Build/Workers/PolylinePipeline-2e2b015c.js +573 -0
  49. package/Build/Workers/PolylineVolumeGeometryLibrary-7ee1d449.js +781 -0
  50. package/Build/Workers/PrimitivePipeline-a9b7aae0.js +966 -0
  51. package/Build/Workers/RectangleGeometryLibrary-9aa6c8f6.js +280 -0
  52. package/Build/Workers/RuntimeError-06c93819.js +68 -0
  53. package/Build/Workers/TerrainEncoding-b52dcfc5.js +1227 -0
  54. package/Build/Workers/Transforms-2f755df8.js +14683 -0
  55. package/Build/Workers/VertexFormat-6b480673.js +312 -0
  56. package/Build/Workers/WallGeometryLibrary-ab19a93d.js +211 -0
  57. package/Build/Workers/WebGLConstants-a8cc3e8c.js +620 -0
  58. package/Build/Workers/WebMercatorProjection-9f25de49.js +151 -0
  59. package/Build/Workers/arrayRemoveDuplicates-c2038105.js +129 -0
  60. package/Build/Workers/cesiumWorkerBootstrapper.js +1273 -0
  61. package/Build/Workers/combine-ca22a614.js +82 -0
  62. package/Build/Workers/combineGeometry.js +17 -0
  63. package/Build/Workers/createBoxGeometry.js +12 -0
  64. package/Build/Workers/createBoxOutlineGeometry.js +313 -0
  65. package/Build/Workers/createCircleGeometry.js +213 -0
  66. package/Build/Workers/createCircleOutlineGeometry.js +160 -0
  67. package/Build/Workers/createCoplanarPolygonGeometry.js +586 -0
  68. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +236 -0
  69. package/Build/Workers/createCorridorGeometry.js +1407 -0
  70. package/Build/Workers/createCorridorOutlineGeometry.js +603 -0
  71. package/Build/Workers/createCylinderGeometry.js +12 -0
  72. package/Build/Workers/createCylinderOutlineGeometry.js +265 -0
  73. package/Build/Workers/createEllipseGeometry.js +14 -0
  74. package/Build/Workers/createEllipseOutlineGeometry.js +14 -0
  75. package/Build/Workers/createEllipsoidGeometry.js +12 -0
  76. package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -0
  77. package/Build/Workers/createFrustumGeometry.js +12 -0
  78. package/Build/Workers/createFrustumOutlineGeometry.js +251 -0
  79. package/Build/Workers/createGeometry.js +55 -0
  80. package/Build/Workers/createGroundPolylineGeometry.js +2134 -0
  81. package/Build/Workers/createPlaneGeometry.js +250 -0
  82. package/Build/Workers/createPlaneOutlineGeometry.js +115 -0
  83. package/Build/Workers/createPolygonGeometry.js +1420 -0
  84. package/Build/Workers/createPolygonOutlineGeometry.js +683 -0
  85. package/Build/Workers/createPolylineGeometry.js +571 -0
  86. package/Build/Workers/createPolylineVolumeGeometry.js +411 -0
  87. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +301 -0
  88. package/Build/Workers/createRectangleGeometry.js +1476 -0
  89. package/Build/Workers/createRectangleOutlineGeometry.js +535 -0
  90. package/Build/Workers/createSimplePolylineGeometry.js +458 -0
  91. package/Build/Workers/createSphereGeometry.js +123 -0
  92. package/Build/Workers/createSphereOutlineGeometry.js +126 -0
  93. package/Build/Workers/createTaskProcessorWorker.js +127 -0
  94. package/Build/Workers/createVectorTileClampedPolylines.js +535 -0
  95. package/Build/Workers/createVectorTileGeometries.js +445 -0
  96. package/Build/Workers/createVectorTilePoints.js +79 -0
  97. package/Build/Workers/createVectorTilePolygons.js +406 -0
  98. package/Build/Workers/createVectorTilePolylines.js +254 -0
  99. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +640 -0
  100. package/Build/Workers/createVerticesFromHeightmap.js +2707 -0
  101. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +994 -0
  102. package/Build/Workers/createWallGeometry.js +623 -0
  103. package/Build/Workers/createWallOutlineGeometry.js +432 -0
  104. package/Build/Workers/decodeDraco.js +381 -0
  105. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +3668 -0
  106. package/Build/Workers/decodeI3S.js +1040 -0
  107. package/Build/Workers/defaultValue-0a909f67.js +51 -0
  108. package/Build/Workers/package.js +2 -0
  109. package/Build/Workers/transcodeKTX2.js +1516 -0
  110. package/Build/Workers/transferTypedArrayTest.js +18 -0
  111. package/Build/Workers/upsampleQuantizedTerrainMesh.js +1023 -0
  112. package/LICENSE.md +933 -0
  113. package/README.md +58 -0
  114. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
  115. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
  116. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
  117. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
  118. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
  119. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
  120. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
  121. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
  122. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
  123. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
  124. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
  125. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
  126. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
  127. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
  128. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
  129. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
  130. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
  131. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
  132. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
  133. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
  134. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
  135. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
  136. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
  137. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
  138. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
  139. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
  140. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
  141. package/Source/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
  142. package/Source/Assets/Images/bing_maps_credit.png +0 -0
  143. package/Source/Assets/Images/cesium_credit.png +0 -0
  144. package/Source/Assets/Images/google_earth_credit.png +0 -0
  145. package/Source/Assets/Images/ion-credit.png +0 -0
  146. package/Source/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
  147. package/Source/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
  148. package/Source/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
  149. package/Source/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
  150. package/Source/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
  151. package/Source/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
  152. package/Source/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
  153. package/Source/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
  154. package/Source/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
  155. package/Source/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
  156. package/Source/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
  157. package/Source/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
  158. package/Source/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
  159. package/Source/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
  160. package/Source/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
  161. package/Source/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
  162. package/Source/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
  163. package/Source/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
  164. package/Source/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
  165. package/Source/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
  166. package/Source/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
  167. package/Source/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
  168. package/Source/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
  169. package/Source/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
  170. package/Source/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
  171. package/Source/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
  172. package/Source/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
  173. package/Source/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
  174. package/Source/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
  175. package/Source/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
  176. package/Source/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
  177. package/Source/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
  178. package/Source/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
  179. package/Source/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
  180. package/Source/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
  181. package/Source/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
  182. package/Source/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
  183. package/Source/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
  184. package/Source/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
  185. package/Source/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
  186. package/Source/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
  187. package/Source/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
  188. package/Source/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
  189. package/Source/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
  190. package/Source/Assets/Textures/NaturalEarthII/tilemapresource.xml +14 -0
  191. package/Source/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
  192. package/Source/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
  193. package/Source/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
  194. package/Source/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
  195. package/Source/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
  196. package/Source/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
  197. package/Source/Assets/Textures/maki/airfield.png +0 -0
  198. package/Source/Assets/Textures/maki/airport.png +0 -0
  199. package/Source/Assets/Textures/maki/alcohol-shop.png +0 -0
  200. package/Source/Assets/Textures/maki/america-football.png +0 -0
  201. package/Source/Assets/Textures/maki/art-gallery.png +0 -0
  202. package/Source/Assets/Textures/maki/bakery.png +0 -0
  203. package/Source/Assets/Textures/maki/bank.png +0 -0
  204. package/Source/Assets/Textures/maki/bar.png +0 -0
  205. package/Source/Assets/Textures/maki/baseball.png +0 -0
  206. package/Source/Assets/Textures/maki/basketball.png +0 -0
  207. package/Source/Assets/Textures/maki/beer.png +0 -0
  208. package/Source/Assets/Textures/maki/bicycle.png +0 -0
  209. package/Source/Assets/Textures/maki/building.png +0 -0
  210. package/Source/Assets/Textures/maki/bus.png +0 -0
  211. package/Source/Assets/Textures/maki/cafe.png +0 -0
  212. package/Source/Assets/Textures/maki/camera.png +0 -0
  213. package/Source/Assets/Textures/maki/campsite.png +0 -0
  214. package/Source/Assets/Textures/maki/car.png +0 -0
  215. package/Source/Assets/Textures/maki/cemetery.png +0 -0
  216. package/Source/Assets/Textures/maki/cesium.png +0 -0
  217. package/Source/Assets/Textures/maki/chemist.png +0 -0
  218. package/Source/Assets/Textures/maki/cinema.png +0 -0
  219. package/Source/Assets/Textures/maki/circle-stroked.png +0 -0
  220. package/Source/Assets/Textures/maki/circle.png +0 -0
  221. package/Source/Assets/Textures/maki/city.png +0 -0
  222. package/Source/Assets/Textures/maki/clothing-store.png +0 -0
  223. package/Source/Assets/Textures/maki/college.png +0 -0
  224. package/Source/Assets/Textures/maki/commercial.png +0 -0
  225. package/Source/Assets/Textures/maki/cricket.png +0 -0
  226. package/Source/Assets/Textures/maki/cross.png +0 -0
  227. package/Source/Assets/Textures/maki/dam.png +0 -0
  228. package/Source/Assets/Textures/maki/danger.png +0 -0
  229. package/Source/Assets/Textures/maki/disability.png +0 -0
  230. package/Source/Assets/Textures/maki/dog-park.png +0 -0
  231. package/Source/Assets/Textures/maki/embassy.png +0 -0
  232. package/Source/Assets/Textures/maki/emergency-telephone.png +0 -0
  233. package/Source/Assets/Textures/maki/entrance.png +0 -0
  234. package/Source/Assets/Textures/maki/farm.png +0 -0
  235. package/Source/Assets/Textures/maki/fast-food.png +0 -0
  236. package/Source/Assets/Textures/maki/ferry.png +0 -0
  237. package/Source/Assets/Textures/maki/fire-station.png +0 -0
  238. package/Source/Assets/Textures/maki/fuel.png +0 -0
  239. package/Source/Assets/Textures/maki/garden.png +0 -0
  240. package/Source/Assets/Textures/maki/gift.png +0 -0
  241. package/Source/Assets/Textures/maki/golf.png +0 -0
  242. package/Source/Assets/Textures/maki/grocery.png +0 -0
  243. package/Source/Assets/Textures/maki/hairdresser.png +0 -0
  244. package/Source/Assets/Textures/maki/harbor.png +0 -0
  245. package/Source/Assets/Textures/maki/heart.png +0 -0
  246. package/Source/Assets/Textures/maki/heliport.png +0 -0
  247. package/Source/Assets/Textures/maki/hospital.png +0 -0
  248. package/Source/Assets/Textures/maki/ice-cream.png +0 -0
  249. package/Source/Assets/Textures/maki/industrial.png +0 -0
  250. package/Source/Assets/Textures/maki/land-use.png +0 -0
  251. package/Source/Assets/Textures/maki/laundry.png +0 -0
  252. package/Source/Assets/Textures/maki/library.png +0 -0
  253. package/Source/Assets/Textures/maki/lighthouse.png +0 -0
  254. package/Source/Assets/Textures/maki/lodging.png +0 -0
  255. package/Source/Assets/Textures/maki/logging.png +0 -0
  256. package/Source/Assets/Textures/maki/london-underground.png +0 -0
  257. package/Source/Assets/Textures/maki/marker-stroked.png +0 -0
  258. package/Source/Assets/Textures/maki/marker.png +0 -0
  259. package/Source/Assets/Textures/maki/minefield.png +0 -0
  260. package/Source/Assets/Textures/maki/mobilephone.png +0 -0
  261. package/Source/Assets/Textures/maki/monument.png +0 -0
  262. package/Source/Assets/Textures/maki/museum.png +0 -0
  263. package/Source/Assets/Textures/maki/music.png +0 -0
  264. package/Source/Assets/Textures/maki/oil-well.png +0 -0
  265. package/Source/Assets/Textures/maki/park.png +0 -0
  266. package/Source/Assets/Textures/maki/park2.png +0 -0
  267. package/Source/Assets/Textures/maki/parking-garage.png +0 -0
  268. package/Source/Assets/Textures/maki/parking.png +0 -0
  269. package/Source/Assets/Textures/maki/pharmacy.png +0 -0
  270. package/Source/Assets/Textures/maki/pitch.png +0 -0
  271. package/Source/Assets/Textures/maki/place-of-worship.png +0 -0
  272. package/Source/Assets/Textures/maki/playground.png +0 -0
  273. package/Source/Assets/Textures/maki/police.png +0 -0
  274. package/Source/Assets/Textures/maki/polling-place.png +0 -0
  275. package/Source/Assets/Textures/maki/post.png +0 -0
  276. package/Source/Assets/Textures/maki/prison.png +0 -0
  277. package/Source/Assets/Textures/maki/rail-above.png +0 -0
  278. package/Source/Assets/Textures/maki/rail-light.png +0 -0
  279. package/Source/Assets/Textures/maki/rail-metro.png +0 -0
  280. package/Source/Assets/Textures/maki/rail-underground.png +0 -0
  281. package/Source/Assets/Textures/maki/rail.png +0 -0
  282. package/Source/Assets/Textures/maki/religious-christian.png +0 -0
  283. package/Source/Assets/Textures/maki/religious-jewish.png +0 -0
  284. package/Source/Assets/Textures/maki/religious-muslim.png +0 -0
  285. package/Source/Assets/Textures/maki/restaurant.png +0 -0
  286. package/Source/Assets/Textures/maki/roadblock.png +0 -0
  287. package/Source/Assets/Textures/maki/rocket.png +0 -0
  288. package/Source/Assets/Textures/maki/school.png +0 -0
  289. package/Source/Assets/Textures/maki/scooter.png +0 -0
  290. package/Source/Assets/Textures/maki/shop.png +0 -0
  291. package/Source/Assets/Textures/maki/skiing.png +0 -0
  292. package/Source/Assets/Textures/maki/slaughterhouse.png +0 -0
  293. package/Source/Assets/Textures/maki/soccer.png +0 -0
  294. package/Source/Assets/Textures/maki/square-stroked.png +0 -0
  295. package/Source/Assets/Textures/maki/square.png +0 -0
  296. package/Source/Assets/Textures/maki/star-stroked.png +0 -0
  297. package/Source/Assets/Textures/maki/star.png +0 -0
  298. package/Source/Assets/Textures/maki/suitcase.png +0 -0
  299. package/Source/Assets/Textures/maki/swimming.png +0 -0
  300. package/Source/Assets/Textures/maki/telephone.png +0 -0
  301. package/Source/Assets/Textures/maki/tennis.png +0 -0
  302. package/Source/Assets/Textures/maki/theatre.png +0 -0
  303. package/Source/Assets/Textures/maki/toilets.png +0 -0
  304. package/Source/Assets/Textures/maki/town-hall.png +0 -0
  305. package/Source/Assets/Textures/maki/town.png +0 -0
  306. package/Source/Assets/Textures/maki/triangle-stroked.png +0 -0
  307. package/Source/Assets/Textures/maki/triangle.png +0 -0
  308. package/Source/Assets/Textures/maki/village.png +0 -0
  309. package/Source/Assets/Textures/maki/warehouse.png +0 -0
  310. package/Source/Assets/Textures/maki/waste-basket.png +0 -0
  311. package/Source/Assets/Textures/maki/water.png +0 -0
  312. package/Source/Assets/Textures/maki/wetland.png +0 -0
  313. package/Source/Assets/Textures/maki/zoo.png +0 -0
  314. package/Source/Assets/Textures/moonSmall.jpg +0 -0
  315. package/Source/Assets/Textures/pin.svg +1 -0
  316. package/Source/Assets/Textures/waterNormals.jpg +0 -0
  317. package/Source/Assets/Textures/waterNormalsSmall.jpg +0 -0
  318. package/Source/Assets/approximateTerrainHeights.json +1 -0
  319. package/Source/Core/ApproximateTerrainHeights.js +256 -0
  320. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +728 -0
  321. package/Source/Core/ArcType.js +31 -0
  322. package/Source/Core/ArticulationStageType.js +23 -0
  323. package/Source/Core/AssociativeArray.js +127 -0
  324. package/Source/Core/AttributeCompression.js +527 -0
  325. package/Source/Core/AxisAlignedBoundingBox.js +259 -0
  326. package/Source/Core/BingMapsGeocoderService.js +107 -0
  327. package/Source/Core/BoundingRectangle.js +373 -0
  328. package/Source/Core/BoundingSphere.js +1505 -0
  329. package/Source/Core/BoxGeometry.js +893 -0
  330. package/Source/Core/BoxOutlineGeometry.js +314 -0
  331. package/Source/Core/Cartesian2.js +824 -0
  332. package/Source/Core/Cartesian3.js +1218 -0
  333. package/Source/Core/Cartesian4.js +980 -0
  334. package/Source/Core/Cartographic.js +302 -0
  335. package/Source/Core/CartographicGeocoderService.js +58 -0
  336. package/Source/Core/CatmullRomSpline.js +324 -0
  337. package/Source/Core/CesiumTerrainProvider.js +1318 -0
  338. package/Source/Core/Check.js +213 -0
  339. package/Source/Core/CircleGeometry.js +203 -0
  340. package/Source/Core/CircleOutlineGeometry.js +149 -0
  341. package/Source/Core/Clock.js +319 -0
  342. package/Source/Core/ClockRange.js +39 -0
  343. package/Source/Core/ClockStep.js +38 -0
  344. package/Source/Core/Color.js +2263 -0
  345. package/Source/Core/ColorGeometryInstanceAttribute.js +182 -0
  346. package/Source/Core/ComponentDatatype.js +340 -0
  347. package/Source/Core/CompressedTextureBuffer.js +114 -0
  348. package/Source/Core/ConstantSpline.js +119 -0
  349. package/Source/Core/CoplanarPolygonGeometry.js +599 -0
  350. package/Source/Core/CoplanarPolygonGeometryLibrary.js +132 -0
  351. package/Source/Core/CoplanarPolygonOutlineGeometry.js +237 -0
  352. package/Source/Core/CornerType.js +37 -0
  353. package/Source/Core/CorridorGeometry.js +1416 -0
  354. package/Source/Core/CorridorGeometryLibrary.js +501 -0
  355. package/Source/Core/CorridorOutlineGeometry.js +604 -0
  356. package/Source/Core/Credit.js +166 -0
  357. package/Source/Core/CubicRealPolynomial.js +238 -0
  358. package/Source/Core/CullingVolume.js +217 -0
  359. package/Source/Core/CustomHeightmapTerrainProvider.js +299 -0
  360. package/Source/Core/CylinderGeometry.js +479 -0
  361. package/Source/Core/CylinderGeometryLibrary.js +59 -0
  362. package/Source/Core/CylinderOutlineGeometry.js +269 -0
  363. package/Source/Core/DefaultProxy.js +26 -0
  364. package/Source/Core/DeveloperError.js +75 -0
  365. package/Source/Core/DistanceDisplayCondition.js +172 -0
  366. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +181 -0
  367. package/Source/Core/DoubleEndedPriorityQueue.js +405 -0
  368. package/Source/Core/DoublyLinkedList.js +112 -0
  369. package/Source/Core/EarthOrientationParameters.js +431 -0
  370. package/Source/Core/EarthOrientationParametersSample.js +52 -0
  371. package/Source/Core/EasingFunction.js +257 -0
  372. package/Source/Core/EllipseGeometry.js +1325 -0
  373. package/Source/Core/EllipseGeometryLibrary.js +365 -0
  374. package/Source/Core/EllipseOutlineGeometry.js +454 -0
  375. package/Source/Core/Ellipsoid.js +804 -0
  376. package/Source/Core/EllipsoidGeodesic.js +523 -0
  377. package/Source/Core/EllipsoidGeometry.js +649 -0
  378. package/Source/Core/EllipsoidOutlineGeometry.js +464 -0
  379. package/Source/Core/EllipsoidRhumbLine.js +745 -0
  380. package/Source/Core/EllipsoidTangentPlane.js +383 -0
  381. package/Source/Core/EllipsoidTerrainProvider.js +230 -0
  382. package/Source/Core/EllipsoidalOccluder.js +559 -0
  383. package/Source/Core/EncodedCartesian3.js +170 -0
  384. package/Source/Core/Event.js +164 -0
  385. package/Source/Core/EventHelper.js +74 -0
  386. package/Source/Core/ExtrapolationType.js +34 -0
  387. package/Source/Core/FeatureDetection.js +411 -0
  388. package/Source/Core/FrustumGeometry.js +583 -0
  389. package/Source/Core/FrustumOutlineGeometry.js +254 -0
  390. package/Source/Core/Fullscreen.js +249 -0
  391. package/Source/Core/GeocodeType.js +24 -0
  392. package/Source/Core/GeocoderService.js +29 -0
  393. package/Source/Core/GeographicProjection.js +105 -0
  394. package/Source/Core/GeographicTilingScheme.js +251 -0
  395. package/Source/Core/Geometry.js +376 -0
  396. package/Source/Core/GeometryAttribute.js +138 -0
  397. package/Source/Core/GeometryAttributes.js +88 -0
  398. package/Source/Core/GeometryFactory.js +25 -0
  399. package/Source/Core/GeometryInstance.js +121 -0
  400. package/Source/Core/GeometryInstanceAttribute.js +138 -0
  401. package/Source/Core/GeometryOffsetAttribute.js +10 -0
  402. package/Source/Core/GeometryPipeline.js +3296 -0
  403. package/Source/Core/GeometryType.js +10 -0
  404. package/Source/Core/GoogleEarthEnterpriseMetadata.js +597 -0
  405. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +607 -0
  406. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +641 -0
  407. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +136 -0
  408. package/Source/Core/GregorianDate.js +69 -0
  409. package/Source/Core/GroundPolylineGeometry.js +1658 -0
  410. package/Source/Core/HeadingPitchRange.js +60 -0
  411. package/Source/Core/HeadingPitchRoll.js +236 -0
  412. package/Source/Core/Heap.js +234 -0
  413. package/Source/Core/HeightmapEncoding.js +25 -0
  414. package/Source/Core/HeightmapTerrainData.js +925 -0
  415. package/Source/Core/HeightmapTessellator.js +535 -0
  416. package/Source/Core/HermitePolynomialApproximation.js +342 -0
  417. package/Source/Core/HermiteSpline.js +620 -0
  418. package/Source/Core/HilbertOrder.js +118 -0
  419. package/Source/Core/Iau2000Orientation.js +167 -0
  420. package/Source/Core/Iau2006XysData.js +277 -0
  421. package/Source/Core/Iau2006XysSample.js +32 -0
  422. package/Source/Core/IauOrientationAxes.js +105 -0
  423. package/Source/Core/IauOrientationParameters.js +54 -0
  424. package/Source/Core/IndexDatatype.js +199 -0
  425. package/Source/Core/InterpolationAlgorithm.js +65 -0
  426. package/Source/Core/InterpolationType.js +14 -0
  427. package/Source/Core/Intersect.js +34 -0
  428. package/Source/Core/IntersectionTests.js +1047 -0
  429. package/Source/Core/Intersections2D.js +358 -0
  430. package/Source/Core/Interval.js +25 -0
  431. package/Source/Core/Ion.js +57 -0
  432. package/Source/Core/IonGeocoderService.js +64 -0
  433. package/Source/Core/IonResource.js +270 -0
  434. package/Source/Core/Iso8601.js +54 -0
  435. package/Source/Core/JulianDate.js +1233 -0
  436. package/Source/Core/KTX2Transcoder.js +95 -0
  437. package/Source/Core/KeyboardEventModifier.js +32 -0
  438. package/Source/Core/LagrangePolynomialApproximation.js +71 -0
  439. package/Source/Core/LeapSecond.js +24 -0
  440. package/Source/Core/LinearApproximation.js +83 -0
  441. package/Source/Core/LinearSpline.js +166 -0
  442. package/Source/Core/ManagedArray.js +163 -0
  443. package/Source/Core/MapProjection.js +62 -0
  444. package/Source/Core/Math.js +1119 -0
  445. package/Source/Core/Matrix2.js +1092 -0
  446. package/Source/Core/Matrix3.js +1838 -0
  447. package/Source/Core/Matrix4.js +3232 -0
  448. package/Source/Core/MorphWeightSpline.js +161 -0
  449. package/Source/Core/MortonOrder.js +214 -0
  450. package/Source/Core/NearFarScalar.js +174 -0
  451. package/Source/Core/Occluder.js +732 -0
  452. package/Source/Core/OffsetGeometryInstanceAttribute.js +126 -0
  453. package/Source/Core/OpenCageGeocoderService.js +118 -0
  454. package/Source/Core/OrientedBoundingBox.js +1270 -0
  455. package/Source/Core/OrthographicFrustum.js +338 -0
  456. package/Source/Core/OrthographicOffCenterFrustum.js +463 -0
  457. package/Source/Core/Packable.js +40 -0
  458. package/Source/Core/PackableForInterpolation.js +43 -0
  459. package/Source/Core/PeliasGeocoderService.js +93 -0
  460. package/Source/Core/PerspectiveFrustum.js +439 -0
  461. package/Source/Core/PerspectiveOffCenterFrustum.js +523 -0
  462. package/Source/Core/PinBuilder.js +234 -0
  463. package/Source/Core/PixelFormat.js +493 -0
  464. package/Source/Core/Plane.js +312 -0
  465. package/Source/Core/PlaneGeometry.js +250 -0
  466. package/Source/Core/PlaneOutlineGeometry.js +113 -0
  467. package/Source/Core/PolygonGeometry.js +1436 -0
  468. package/Source/Core/PolygonGeometryLibrary.js +981 -0
  469. package/Source/Core/PolygonHierarchy.js +25 -0
  470. package/Source/Core/PolygonOutlineGeometry.js +692 -0
  471. package/Source/Core/PolygonPipeline.js +633 -0
  472. package/Source/Core/PolylineGeometry.js +578 -0
  473. package/Source/Core/PolylinePipeline.js +580 -0
  474. package/Source/Core/PolylineVolumeGeometry.js +417 -0
  475. package/Source/Core/PolylineVolumeGeometryLibrary.js +701 -0
  476. package/Source/Core/PolylineVolumeOutlineGeometry.js +299 -0
  477. package/Source/Core/PrimitiveType.js +107 -0
  478. package/Source/Core/Proxy.js +24 -0
  479. package/Source/Core/QuadraticRealPolynomial.js +147 -0
  480. package/Source/Core/QuantizedMeshTerrainData.js +772 -0
  481. package/Source/Core/QuarticRealPolynomial.js +342 -0
  482. package/Source/Core/Quaternion.js +1142 -0
  483. package/Source/Core/QuaternionSpline.js +155 -0
  484. package/Source/Core/Queue.js +126 -0
  485. package/Source/Core/Ray.js +80 -0
  486. package/Source/Core/Rectangle.js +982 -0
  487. package/Source/Core/RectangleCollisionChecker.js +95 -0
  488. package/Source/Core/RectangleGeometry.js +1489 -0
  489. package/Source/Core/RectangleGeometryLibrary.js +283 -0
  490. package/Source/Core/RectangleOutlineGeometry.js +537 -0
  491. package/Source/Core/ReferenceFrame.js +23 -0
  492. package/Source/Core/Request.js +192 -0
  493. package/Source/Core/RequestErrorEvent.js +58 -0
  494. package/Source/Core/RequestScheduler.js +520 -0
  495. package/Source/Core/RequestState.js +55 -0
  496. package/Source/Core/RequestType.js +39 -0
  497. package/Source/Core/Resource.js +2307 -0
  498. package/Source/Core/RuntimeError.js +65 -0
  499. package/Source/Core/S2Cell.js +811 -0
  500. package/Source/Core/ScreenSpaceEventHandler.js +1140 -0
  501. package/Source/Core/ScreenSpaceEventType.js +127 -0
  502. package/Source/Core/ShowGeometryInstanceAttribute.js +123 -0
  503. package/Source/Core/Simon1994PlanetaryPositions.js +682 -0
  504. package/Source/Core/SimplePolylineGeometry.js +457 -0
  505. package/Source/Core/SphereGeometry.js +118 -0
  506. package/Source/Core/SphereOutlineGeometry.js +120 -0
  507. package/Source/Core/Spherical.js +184 -0
  508. package/Source/Core/Spline.js +189 -0
  509. package/Source/Core/SteppedSpline.js +160 -0
  510. package/Source/Core/TaskProcessor.js +377 -0
  511. package/Source/Core/TerrainData.js +125 -0
  512. package/Source/Core/TerrainEncoding.js +607 -0
  513. package/Source/Core/TerrainExaggeration.js +49 -0
  514. package/Source/Core/TerrainMesh.js +156 -0
  515. package/Source/Core/TerrainProvider.js +461 -0
  516. package/Source/Core/TerrainQuantization.js +25 -0
  517. package/Source/Core/TileAvailability.js +564 -0
  518. package/Source/Core/TileEdge.js +14 -0
  519. package/Source/Core/TileProviderError.js +171 -0
  520. package/Source/Core/TilingScheme.js +132 -0
  521. package/Source/Core/TimeConstants.js +83 -0
  522. package/Source/Core/TimeInterval.js +438 -0
  523. package/Source/Core/TimeIntervalCollection.js +1136 -0
  524. package/Source/Core/TimeStandard.js +30 -0
  525. package/Source/Core/Tipsify.js +314 -0
  526. package/Source/Core/Transforms.js +1132 -0
  527. package/Source/Core/TranslationRotationScale.js +60 -0
  528. package/Source/Core/TridiagonalSystemSolver.js +113 -0
  529. package/Source/Core/TrustedServers.js +146 -0
  530. package/Source/Core/VRTheWorldTerrainProvider.js +450 -0
  531. package/Source/Core/VertexFormat.js +311 -0
  532. package/Source/Core/VideoSynchronizer.js +222 -0
  533. package/Source/Core/Visibility.js +34 -0
  534. package/Source/Core/VulkanConstants.js +286 -0
  535. package/Source/Core/WallGeometry.js +626 -0
  536. package/Source/Core/WallGeometryLibrary.js +212 -0
  537. package/Source/Core/WallOutlineGeometry.js +434 -0
  538. package/Source/Core/WebGLConstants.js +614 -0
  539. package/Source/Core/WebMercatorProjection.js +154 -0
  540. package/Source/Core/WebMercatorTilingScheme.js +297 -0
  541. package/Source/Core/WindingOrder.js +36 -0
  542. package/Source/Core/WireframeIndexGenerator.js +238 -0
  543. package/Source/Core/appendForwardSlash.js +10 -0
  544. package/Source/Core/arrayRemoveDuplicates.js +130 -0
  545. package/Source/Core/barycentricCoordinates.js +109 -0
  546. package/Source/Core/binarySearch.js +67 -0
  547. package/Source/Core/buildModuleUrl.js +151 -0
  548. package/Source/Core/cancelAnimationFrame.js +53 -0
  549. package/Source/Core/clone.js +32 -0
  550. package/Source/Core/combine.js +80 -0
  551. package/Source/Core/createGuid.js +22 -0
  552. package/Source/Core/createWorldTerrain.js +42 -0
  553. package/Source/Core/decodeGoogleEarthEnterpriseData.js +93 -0
  554. package/Source/Core/decodeVectorPolylinePositions.js +51 -0
  555. package/Source/Core/defaultValue.js +29 -0
  556. package/Source/Core/defer.js +44 -0
  557. package/Source/Core/defined.js +17 -0
  558. package/Source/Core/deprecationWarning.js +53 -0
  559. package/Source/Core/destroyObject.js +57 -0
  560. package/Source/Core/formatError.js +30 -0
  561. package/Source/Core/getAbsoluteUri.js +47 -0
  562. package/Source/Core/getBaseUri.js +47 -0
  563. package/Source/Core/getExtensionFromUri.js +38 -0
  564. package/Source/Core/getFilenameFromUri.js +32 -0
  565. package/Source/Core/getImageFromTypedArray.js +24 -0
  566. package/Source/Core/getImagePixels.js +43 -0
  567. package/Source/Core/getJsonFromTypedArray.js +21 -0
  568. package/Source/Core/getMagic.js +15 -0
  569. package/Source/Core/getStringFromTypedArray.js +166 -0
  570. package/Source/Core/getTimestamp.js +26 -0
  571. package/Source/Core/isBitSet.js +7 -0
  572. package/Source/Core/isBlobUri.js +22 -0
  573. package/Source/Core/isCrossOriginUrl.js +30 -0
  574. package/Source/Core/isDataUri.js +22 -0
  575. package/Source/Core/isLeapYear.js +23 -0
  576. package/Source/Core/loadAndExecuteScript.js +27 -0
  577. package/Source/Core/loadImageFromTypedArray.js +64 -0
  578. package/Source/Core/loadKTX2.js +104 -0
  579. package/Source/Core/mergeSort.js +111 -0
  580. package/Source/Core/objectToQuery.js +57 -0
  581. package/Source/Core/oneTimeWarning.js +52 -0
  582. package/Source/Core/parseResponseHeaders.js +37 -0
  583. package/Source/Core/pointInsideTriangle.js +39 -0
  584. package/Source/Core/queryToObject.js +60 -0
  585. package/Source/Core/requestAnimationFrame.js +83 -0
  586. package/Source/Core/resizeImageToNextPowerOfTwo.js +31 -0
  587. package/Source/Core/sampleTerrain.js +257 -0
  588. package/Source/Core/sampleTerrainMostDetailed.js +117 -0
  589. package/Source/Core/scaleToGeodeticSurface.js +147 -0
  590. package/Source/Core/subdivideArray.js +35 -0
  591. package/Source/Core/webGLConstantToGlslType.js +25 -0
  592. package/Source/Core/wrapFunction.js +26 -0
  593. package/Source/Core/writeTextToCanvas.js +222 -0
  594. package/Source/DataSources/BillboardGraphics.js +429 -0
  595. package/Source/DataSources/BillboardVisualizer.js +341 -0
  596. package/Source/DataSources/BoundingSphereState.js +26 -0
  597. package/Source/DataSources/BoxGeometryUpdater.js +325 -0
  598. package/Source/DataSources/BoxGraphics.js +213 -0
  599. package/Source/DataSources/CallbackProperty.js +111 -0
  600. package/Source/DataSources/Cesium3DTilesetGraphics.js +113 -0
  601. package/Source/DataSources/Cesium3DTilesetVisualizer.js +249 -0
  602. package/Source/DataSources/CheckerboardMaterialProperty.js +151 -0
  603. package/Source/DataSources/ColorMaterialProperty.js +106 -0
  604. package/Source/DataSources/CompositeEntityCollection.js +592 -0
  605. package/Source/DataSources/CompositeMaterialProperty.js +129 -0
  606. package/Source/DataSources/CompositePositionProperty.js +149 -0
  607. package/Source/DataSources/CompositeProperty.js +154 -0
  608. package/Source/DataSources/ConstantPositionProperty.js +146 -0
  609. package/Source/DataSources/ConstantProperty.js +116 -0
  610. package/Source/DataSources/CorridorGeometryUpdater.js +404 -0
  611. package/Source/DataSources/CorridorGraphics.js +328 -0
  612. package/Source/DataSources/CustomDataSource.js +173 -0
  613. package/Source/DataSources/CylinderGeometryUpdater.js +373 -0
  614. package/Source/DataSources/CylinderGraphics.js +265 -0
  615. package/Source/DataSources/CzmlDataSource.js +5141 -0
  616. package/Source/DataSources/DataSource.js +121 -0
  617. package/Source/DataSources/DataSourceClock.js +165 -0
  618. package/Source/DataSources/DataSourceCollection.js +336 -0
  619. package/Source/DataSources/DataSourceDisplay.js +510 -0
  620. package/Source/DataSources/DynamicGeometryBatch.js +56 -0
  621. package/Source/DataSources/DynamicGeometryUpdater.js +274 -0
  622. package/Source/DataSources/EllipseGeometryUpdater.js +430 -0
  623. package/Source/DataSources/EllipseGraphics.js +357 -0
  624. package/Source/DataSources/EllipsoidGeometryUpdater.js +710 -0
  625. package/Source/DataSources/EllipsoidGraphics.js +323 -0
  626. package/Source/DataSources/Entity.js +752 -0
  627. package/Source/DataSources/EntityCluster.js +997 -0
  628. package/Source/DataSources/EntityCollection.js +440 -0
  629. package/Source/DataSources/EntityView.js +426 -0
  630. package/Source/DataSources/GeoJsonDataSource.js +1064 -0
  631. package/Source/DataSources/GeometryUpdater.js +545 -0
  632. package/Source/DataSources/GeometryVisualizer.js +620 -0
  633. package/Source/DataSources/GpxDataSource.js +1023 -0
  634. package/Source/DataSources/GridMaterialProperty.js +198 -0
  635. package/Source/DataSources/GroundGeometryUpdater.js +232 -0
  636. package/Source/DataSources/ImageMaterialProperty.js +166 -0
  637. package/Source/DataSources/KmlCamera.js +13 -0
  638. package/Source/DataSources/KmlDataSource.js +4326 -0
  639. package/Source/DataSources/KmlLookAt.js +12 -0
  640. package/Source/DataSources/KmlTour.js +176 -0
  641. package/Source/DataSources/KmlTourFlyTo.js +109 -0
  642. package/Source/DataSources/KmlTourWait.js +52 -0
  643. package/Source/DataSources/LabelGraphics.js +430 -0
  644. package/Source/DataSources/LabelVisualizer.js +360 -0
  645. package/Source/DataSources/MaterialProperty.js +105 -0
  646. package/Source/DataSources/ModelGraphics.js +447 -0
  647. package/Source/DataSources/ModelVisualizer.js +548 -0
  648. package/Source/DataSources/NodeTransformationProperty.js +144 -0
  649. package/Source/DataSources/PathGraphics.js +163 -0
  650. package/Source/DataSources/PathVisualizer.js +759 -0
  651. package/Source/DataSources/PlaneGeometryUpdater.js +384 -0
  652. package/Source/DataSources/PlaneGraphics.js +210 -0
  653. package/Source/DataSources/PointGraphics.js +221 -0
  654. package/Source/DataSources/PointVisualizer.js +426 -0
  655. package/Source/DataSources/PolygonGeometryUpdater.js +575 -0
  656. package/Source/DataSources/PolygonGraphics.js +400 -0
  657. package/Source/DataSources/PolylineArrowMaterialProperty.js +104 -0
  658. package/Source/DataSources/PolylineDashMaterialProperty.js +168 -0
  659. package/Source/DataSources/PolylineGeometryUpdater.js +886 -0
  660. package/Source/DataSources/PolylineGlowMaterialProperty.js +146 -0
  661. package/Source/DataSources/PolylineGraphics.js +248 -0
  662. package/Source/DataSources/PolylineOutlineMaterialProperty.js +152 -0
  663. package/Source/DataSources/PolylineVisualizer.js +414 -0
  664. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +304 -0
  665. package/Source/DataSources/PolylineVolumeGraphics.js +237 -0
  666. package/Source/DataSources/PositionProperty.js +133 -0
  667. package/Source/DataSources/PositionPropertyArray.js +187 -0
  668. package/Source/DataSources/Property.js +138 -0
  669. package/Source/DataSources/PropertyArray.js +147 -0
  670. package/Source/DataSources/PropertyBag.js +275 -0
  671. package/Source/DataSources/RectangleGeometryUpdater.js +422 -0
  672. package/Source/DataSources/RectangleGraphics.js +329 -0
  673. package/Source/DataSources/ReferenceProperty.js +365 -0
  674. package/Source/DataSources/Rotation.js +156 -0
  675. package/Source/DataSources/SampledPositionProperty.js +325 -0
  676. package/Source/DataSources/SampledProperty.js +834 -0
  677. package/Source/DataSources/ScaledPositionProperty.js +97 -0
  678. package/Source/DataSources/StaticGeometryColorBatch.js +570 -0
  679. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +488 -0
  680. package/Source/DataSources/StaticGroundGeometryColorBatch.js +395 -0
  681. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +426 -0
  682. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +434 -0
  683. package/Source/DataSources/StaticOutlineGeometryBatch.js +466 -0
  684. package/Source/DataSources/StripeMaterialProperty.js +187 -0
  685. package/Source/DataSources/StripeOrientation.js +19 -0
  686. package/Source/DataSources/TerrainOffsetProperty.js +246 -0
  687. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +152 -0
  688. package/Source/DataSources/TimeIntervalCollectionProperty.js +136 -0
  689. package/Source/DataSources/VelocityOrientationProperty.js +154 -0
  690. package/Source/DataSources/VelocityVectorProperty.js +216 -0
  691. package/Source/DataSources/Visualizer.js +61 -0
  692. package/Source/DataSources/WallGeometryUpdater.js +275 -0
  693. package/Source/DataSources/WallGraphics.js +244 -0
  694. package/Source/DataSources/createMaterialPropertyDescriptor.js +35 -0
  695. package/Source/DataSources/createPropertyDescriptor.js +72 -0
  696. package/Source/DataSources/createRawPropertyDescriptor.js +13 -0
  697. package/Source/DataSources/exportKml.js +1519 -0
  698. package/Source/DataSources/getElement.js +26 -0
  699. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +47 -0
  700. package/Source/Renderer/AutomaticUniforms.js +1625 -0
  701. package/Source/Renderer/Buffer.js +420 -0
  702. package/Source/Renderer/BufferUsage.js +19 -0
  703. package/Source/Renderer/ClearCommand.js +102 -0
  704. package/Source/Renderer/ComputeCommand.js +119 -0
  705. package/Source/Renderer/ComputeEngine.js +135 -0
  706. package/Source/Renderer/Context.js +1601 -0
  707. package/Source/Renderer/ContextLimits.js +297 -0
  708. package/Source/Renderer/CubeMap.js +631 -0
  709. package/Source/Renderer/CubeMapFace.js +361 -0
  710. package/Source/Renderer/DrawCommand.js +610 -0
  711. package/Source/Renderer/Framebuffer.js +448 -0
  712. package/Source/Renderer/FramebufferManager.js +497 -0
  713. package/Source/Renderer/MipmapHint.js +19 -0
  714. package/Source/Renderer/MultisampleFramebuffer.js +115 -0
  715. package/Source/Renderer/Pass.js +26 -0
  716. package/Source/Renderer/PassState.js +57 -0
  717. package/Source/Renderer/PixelDatatype.js +98 -0
  718. package/Source/Renderer/RenderState.js +996 -0
  719. package/Source/Renderer/Renderbuffer.js +103 -0
  720. package/Source/Renderer/RenderbufferFormat.js +42 -0
  721. package/Source/Renderer/Sampler.js +109 -0
  722. package/Source/Renderer/ShaderBuilder.js +593 -0
  723. package/Source/Renderer/ShaderCache.js +291 -0
  724. package/Source/Renderer/ShaderDestination.js +51 -0
  725. package/Source/Renderer/ShaderFunction.js +66 -0
  726. package/Source/Renderer/ShaderProgram.js +612 -0
  727. package/Source/Renderer/ShaderSource.js +519 -0
  728. package/Source/Renderer/ShaderStruct.js +55 -0
  729. package/Source/Renderer/Texture.js +1035 -0
  730. package/Source/Renderer/TextureCache.js +81 -0
  731. package/Source/Renderer/TextureMagnificationFilter.js +41 -0
  732. package/Source/Renderer/TextureMinificationFilter.js +94 -0
  733. package/Source/Renderer/TextureWrap.js +19 -0
  734. package/Source/Renderer/UniformState.js +1710 -0
  735. package/Source/Renderer/VertexArray.js +853 -0
  736. package/Source/Renderer/VertexArrayFacade.js +514 -0
  737. package/Source/Renderer/createUniform.js +419 -0
  738. package/Source/Renderer/createUniformArray.js +637 -0
  739. package/Source/Renderer/freezeRenderState.js +30 -0
  740. package/Source/Renderer/loadCubeMap.js +93 -0
  741. package/Source/Renderer/modernizeShader.js +242 -0
  742. package/Source/Scene/AlphaMode.js +33 -0
  743. package/Source/Scene/Appearance.js +204 -0
  744. package/Source/Scene/ArcGisMapServerImageryProvider.js +905 -0
  745. package/Source/Scene/AttributeType.js +200 -0
  746. package/Source/Scene/AutoExposure.js +387 -0
  747. package/Source/Scene/Axis.js +111 -0
  748. package/Source/Scene/B3dmParser.js +174 -0
  749. package/Source/Scene/BatchTable.js +636 -0
  750. package/Source/Scene/BatchTableHierarchy.js +556 -0
  751. package/Source/Scene/BatchTexture.js +574 -0
  752. package/Source/Scene/Billboard.js +1552 -0
  753. package/Source/Scene/BillboardCollection.js +2417 -0
  754. package/Source/Scene/BingMapsImageryProvider.js +855 -0
  755. package/Source/Scene/BingMapsStyle.js +93 -0
  756. package/Source/Scene/BlendEquation.js +53 -0
  757. package/Source/Scene/BlendFunction.js +129 -0
  758. package/Source/Scene/BlendOption.js +28 -0
  759. package/Source/Scene/BlendingState.js +73 -0
  760. package/Source/Scene/BoxEmitter.js +75 -0
  761. package/Source/Scene/BrdfLutGenerator.js +75 -0
  762. package/Source/Scene/BufferLoader.js +146 -0
  763. package/Source/Scene/Camera.js +3951 -0
  764. package/Source/Scene/CameraEventAggregator.js +565 -0
  765. package/Source/Scene/CameraEventType.js +47 -0
  766. package/Source/Scene/CameraFlightPath.js +576 -0
  767. package/Source/Scene/Cesium3DContentGroup.js +44 -0
  768. package/Source/Scene/Cesium3DTile.js +2115 -0
  769. package/Source/Scene/Cesium3DTileBatchTable.js +1176 -0
  770. package/Source/Scene/Cesium3DTileColorBlendMode.js +52 -0
  771. package/Source/Scene/Cesium3DTileContent.js +397 -0
  772. package/Source/Scene/Cesium3DTileContentFactory.js +104 -0
  773. package/Source/Scene/Cesium3DTileContentState.js +12 -0
  774. package/Source/Scene/Cesium3DTileContentType.js +160 -0
  775. package/Source/Scene/Cesium3DTileFeature.js +444 -0
  776. package/Source/Scene/Cesium3DTileFeatureTable.js +132 -0
  777. package/Source/Scene/Cesium3DTileOptimizationHint.js +13 -0
  778. package/Source/Scene/Cesium3DTileOptimizations.js +115 -0
  779. package/Source/Scene/Cesium3DTilePass.js +82 -0
  780. package/Source/Scene/Cesium3DTilePassState.js +52 -0
  781. package/Source/Scene/Cesium3DTilePointFeature.js +864 -0
  782. package/Source/Scene/Cesium3DTileRefine.js +29 -0
  783. package/Source/Scene/Cesium3DTileStyle.js +1475 -0
  784. package/Source/Scene/Cesium3DTileStyleEngine.js +78 -0
  785. package/Source/Scene/Cesium3DTileset.js +3158 -0
  786. package/Source/Scene/Cesium3DTilesetCache.js +82 -0
  787. package/Source/Scene/Cesium3DTilesetHeatmap.js +165 -0
  788. package/Source/Scene/Cesium3DTilesetMetadata.js +199 -0
  789. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +144 -0
  790. package/Source/Scene/Cesium3DTilesetStatistics.js +129 -0
  791. package/Source/Scene/Cesium3DTilesetTraversal.js +773 -0
  792. package/Source/Scene/CircleEmitter.js +62 -0
  793. package/Source/Scene/ClassificationPrimitive.js +1433 -0
  794. package/Source/Scene/ClassificationType.js +35 -0
  795. package/Source/Scene/ClippingPlane.js +184 -0
  796. package/Source/Scene/ClippingPlaneCollection.js +771 -0
  797. package/Source/Scene/CloudCollection.js +1050 -0
  798. package/Source/Scene/CloudType.js +33 -0
  799. package/Source/Scene/ColorBlendMode.js +33 -0
  800. package/Source/Scene/Composite3DTileContent.js +346 -0
  801. package/Source/Scene/ConditionsExpression.js +218 -0
  802. package/Source/Scene/ConeEmitter.js +62 -0
  803. package/Source/Scene/ContentMetadata.js +184 -0
  804. package/Source/Scene/CreditDisplay.js +610 -0
  805. package/Source/Scene/CullFace.js +33 -0
  806. package/Source/Scene/CumulusCloud.js +353 -0
  807. package/Source/Scene/DebugAppearance.js +268 -0
  808. package/Source/Scene/DebugCameraPrimitive.js +257 -0
  809. package/Source/Scene/DebugInspector.js +151 -0
  810. package/Source/Scene/DebugModelMatrixPrimitive.js +222 -0
  811. package/Source/Scene/DepthFunction.js +73 -0
  812. package/Source/Scene/DepthPlane.js +245 -0
  813. package/Source/Scene/DerivedCommand.js +433 -0
  814. package/Source/Scene/DeviceOrientationCameraController.js +120 -0
  815. package/Source/Scene/DirectionalLight.js +50 -0
  816. package/Source/Scene/DiscardEmptyTileImagePolicy.js +54 -0
  817. package/Source/Scene/DiscardMissingTileImagePolicy.js +148 -0
  818. package/Source/Scene/DracoLoader.js +76 -0
  819. package/Source/Scene/EllipsoidPrimitive.js +511 -0
  820. package/Source/Scene/EllipsoidSurfaceAppearance.js +282 -0
  821. package/Source/Scene/Empty3DTileContent.js +151 -0
  822. package/Source/Scene/Expression.js +2232 -0
  823. package/Source/Scene/ExpressionNodeType.js +25 -0
  824. package/Source/Scene/Fog.js +205 -0
  825. package/Source/Scene/FrameRateMonitor.js +384 -0
  826. package/Source/Scene/FrameState.js +419 -0
  827. package/Source/Scene/FrustumCommands.js +30 -0
  828. package/Source/Scene/Geometry3DTileContent.js +526 -0
  829. package/Source/Scene/GetFeatureInfoFormat.js +395 -0
  830. package/Source/Scene/Globe.js +1121 -0
  831. package/Source/Scene/GlobeDepth.js +378 -0
  832. package/Source/Scene/GlobeSurfaceShaderSet.js +413 -0
  833. package/Source/Scene/GlobeSurfaceTile.js +997 -0
  834. package/Source/Scene/GlobeSurfaceTileProvider.js +2818 -0
  835. package/Source/Scene/GlobeTranslucency.js +239 -0
  836. package/Source/Scene/GlobeTranslucencyFramebuffer.js +201 -0
  837. package/Source/Scene/GlobeTranslucencyState.js +1117 -0
  838. package/Source/Scene/GltfBufferViewLoader.js +268 -0
  839. package/Source/Scene/GltfDracoLoader.js +250 -0
  840. package/Source/Scene/GltfImageLoader.js +327 -0
  841. package/Source/Scene/GltfIndexBufferLoader.js +429 -0
  842. package/Source/Scene/GltfJsonLoader.js +301 -0
  843. package/Source/Scene/GltfLoader.js +2663 -0
  844. package/Source/Scene/GltfLoaderUtil.js +201 -0
  845. package/Source/Scene/GltfPipeline/ForEach.js +424 -0
  846. package/Source/Scene/GltfPipeline/addBuffer.js +30 -0
  847. package/Source/Scene/GltfPipeline/addDefaults.js +236 -0
  848. package/Source/Scene/GltfPipeline/addExtensionsRequired.js +24 -0
  849. package/Source/Scene/GltfPipeline/addExtensionsUsed.js +22 -0
  850. package/Source/Scene/GltfPipeline/addPipelineExtras.js +36 -0
  851. package/Source/Scene/GltfPipeline/addToArray.js +25 -0
  852. package/Source/Scene/GltfPipeline/findAccessorMinMax.js +71 -0
  853. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +139 -0
  854. package/Source/Scene/GltfPipeline/getAccessorByteStride.js +29 -0
  855. package/Source/Scene/GltfPipeline/getComponentReader.js +147 -0
  856. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +138 -0
  857. package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +145 -0
  858. package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +29 -0
  859. package/Source/Scene/GltfPipeline/parseGlb.js +122 -0
  860. package/Source/Scene/GltfPipeline/readAccessorPacked.js +54 -0
  861. package/Source/Scene/GltfPipeline/removeExtension.js +64 -0
  862. package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +24 -0
  863. package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +26 -0
  864. package/Source/Scene/GltfPipeline/removePipelineExtras.js +42 -0
  865. package/Source/Scene/GltfPipeline/removeUnusedElements.js +881 -0
  866. package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +53 -0
  867. package/Source/Scene/GltfPipeline/updateVersion.js +1151 -0
  868. package/Source/Scene/GltfPipeline/usesExtension.js +18 -0
  869. package/Source/Scene/GltfStructuralMetadataLoader.js +504 -0
  870. package/Source/Scene/GltfTextureLoader.js +383 -0
  871. package/Source/Scene/GltfVertexBufferLoader.js +470 -0
  872. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +758 -0
  873. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +756 -0
  874. package/Source/Scene/GridImageryProvider.js +436 -0
  875. package/Source/Scene/GroundPolylinePrimitive.js +926 -0
  876. package/Source/Scene/GroundPrimitive.js +1040 -0
  877. package/Source/Scene/GroupMetadata.js +203 -0
  878. package/Source/Scene/HeightReference.js +28 -0
  879. package/Source/Scene/HorizontalOrigin.js +41 -0
  880. package/Source/Scene/I3SDataProvider.js +668 -0
  881. package/Source/Scene/I3SFeature.js +63 -0
  882. package/Source/Scene/I3SField.js +255 -0
  883. package/Source/Scene/I3SGeometry.js +409 -0
  884. package/Source/Scene/I3SLayer.js +365 -0
  885. package/Source/Scene/I3SNode.js +816 -0
  886. package/Source/Scene/I3dmParser.js +141 -0
  887. package/Source/Scene/ImageBasedLighting.js +510 -0
  888. package/Source/Scene/Imagery.js +120 -0
  889. package/Source/Scene/ImageryLayer.js +1541 -0
  890. package/Source/Scene/ImageryLayerCollection.js +621 -0
  891. package/Source/Scene/ImageryLayerFeatureInfo.js +112 -0
  892. package/Source/Scene/ImageryProvider.js +387 -0
  893. package/Source/Scene/ImageryState.js +14 -0
  894. package/Source/Scene/Implicit3DTileContent.js +1154 -0
  895. package/Source/Scene/ImplicitAvailabilityBitstream.js +137 -0
  896. package/Source/Scene/ImplicitMetadataView.js +178 -0
  897. package/Source/Scene/ImplicitSubdivisionScheme.js +48 -0
  898. package/Source/Scene/ImplicitSubtree.js +1146 -0
  899. package/Source/Scene/ImplicitSubtreeMetadata.js +191 -0
  900. package/Source/Scene/ImplicitTileCoordinates.js +647 -0
  901. package/Source/Scene/ImplicitTileset.js +263 -0
  902. package/Source/Scene/InstanceAttributeSemantic.js +79 -0
  903. package/Source/Scene/InvertClassification.js +382 -0
  904. package/Source/Scene/IonImageryProvider.js +555 -0
  905. package/Source/Scene/IonWorldImageryStyle.js +33 -0
  906. package/Source/Scene/JobScheduler.js +199 -0
  907. package/Source/Scene/JobType.js +10 -0
  908. package/Source/Scene/JsonMetadataTable.js +114 -0
  909. package/Source/Scene/Label.js +1588 -0
  910. package/Source/Scene/LabelCollection.js +994 -0
  911. package/Source/Scene/LabelStyle.js +33 -0
  912. package/Source/Scene/Light.js +34 -0
  913. package/Source/Scene/MapMode2D.js +23 -0
  914. package/Source/Scene/MapboxImageryProvider.js +448 -0
  915. package/Source/Scene/MapboxStyleImageryProvider.js +457 -0
  916. package/Source/Scene/Material.js +1742 -0
  917. package/Source/Scene/MaterialAppearance.js +334 -0
  918. package/Source/Scene/MetadataClass.js +167 -0
  919. package/Source/Scene/MetadataClassProperty.js +1104 -0
  920. package/Source/Scene/MetadataComponentType.js +448 -0
  921. package/Source/Scene/MetadataEntity.js +425 -0
  922. package/Source/Scene/MetadataEnum.js +186 -0
  923. package/Source/Scene/MetadataEnumValue.js +97 -0
  924. package/Source/Scene/MetadataSchema.js +173 -0
  925. package/Source/Scene/MetadataSchemaLoader.js +145 -0
  926. package/Source/Scene/MetadataSemantic.js +145 -0
  927. package/Source/Scene/MetadataTable.js +357 -0
  928. package/Source/Scene/MetadataTableProperty.js +859 -0
  929. package/Source/Scene/MetadataType.js +208 -0
  930. package/Source/Scene/Model/AlphaPipelineStage.js +52 -0
  931. package/Source/Scene/Model/B3dmLoader.js +379 -0
  932. package/Source/Scene/Model/BatchTexturePipelineStage.js +72 -0
  933. package/Source/Scene/Model/CPUStylingPipelineStage.js +77 -0
  934. package/Source/Scene/Model/ClassificationModelDrawCommand.js +533 -0
  935. package/Source/Scene/Model/ClassificationPipelineStage.js +132 -0
  936. package/Source/Scene/Model/CustomShader.js +473 -0
  937. package/Source/Scene/Model/CustomShaderMode.js +40 -0
  938. package/Source/Scene/Model/CustomShaderPipelineStage.js +654 -0
  939. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +35 -0
  940. package/Source/Scene/Model/DequantizationPipelineStage.js +178 -0
  941. package/Source/Scene/Model/FeatureIdPipelineStage.js +504 -0
  942. package/Source/Scene/Model/GeoJsonLoader.js +722 -0
  943. package/Source/Scene/Model/GeometryPipelineStage.js +558 -0
  944. package/Source/Scene/Model/I3dmLoader.js +909 -0
  945. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +147 -0
  946. package/Source/Scene/Model/InstancingPipelineStage.js +1043 -0
  947. package/Source/Scene/Model/LightingModel.js +30 -0
  948. package/Source/Scene/Model/LightingPipelineStage.js +75 -0
  949. package/Source/Scene/Model/MaterialPipelineStage.js +510 -0
  950. package/Source/Scene/Model/MetadataPipelineStage.js +638 -0
  951. package/Source/Scene/Model/Model.js +2847 -0
  952. package/Source/Scene/Model/Model3DTileContent.js +451 -0
  953. package/Source/Scene/Model/ModelAlphaOptions.js +26 -0
  954. package/Source/Scene/Model/ModelAnimation.js +422 -0
  955. package/Source/Scene/Model/ModelAnimationChannel.js +293 -0
  956. package/Source/Scene/Model/ModelAnimationCollection.js +553 -0
  957. package/Source/Scene/Model/ModelArticulation.js +214 -0
  958. package/Source/Scene/Model/ModelArticulationStage.js +261 -0
  959. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +126 -0
  960. package/Source/Scene/Model/ModelColorPipelineStage.js +99 -0
  961. package/Source/Scene/Model/ModelDrawCommand.js +864 -0
  962. package/Source/Scene/Model/ModelFeature.js +229 -0
  963. package/Source/Scene/Model/ModelFeatureTable.js +322 -0
  964. package/Source/Scene/Model/ModelLightingOptions.js +29 -0
  965. package/Source/Scene/Model/ModelMatrixUpdateStage.js +108 -0
  966. package/Source/Scene/Model/ModelNode.js +125 -0
  967. package/Source/Scene/Model/ModelRenderResources.js +106 -0
  968. package/Source/Scene/Model/ModelRuntimeNode.js +648 -0
  969. package/Source/Scene/Model/ModelRuntimePrimitive.js +340 -0
  970. package/Source/Scene/Model/ModelSceneGraph.js +968 -0
  971. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +109 -0
  972. package/Source/Scene/Model/ModelSkin.js +180 -0
  973. package/Source/Scene/Model/ModelSplitterPipelineStage.js +66 -0
  974. package/Source/Scene/Model/ModelStatistics.js +197 -0
  975. package/Source/Scene/Model/ModelType.js +94 -0
  976. package/Source/Scene/Model/ModelUtility.js +386 -0
  977. package/Source/Scene/Model/MorphTargetsPipelineStage.js +249 -0
  978. package/Source/Scene/Model/NodeRenderResources.js +160 -0
  979. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +75 -0
  980. package/Source/Scene/Model/PickingPipelineStage.js +219 -0
  981. package/Source/Scene/Model/PntsLoader.js +717 -0
  982. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +396 -0
  983. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +689 -0
  984. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +99 -0
  985. package/Source/Scene/Model/PrimitiveRenderResources.js +297 -0
  986. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +253 -0
  987. package/Source/Scene/Model/SceneMode2DPipelineStage.js +301 -0
  988. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +185 -0
  989. package/Source/Scene/Model/SkinningPipelineStage.js +118 -0
  990. package/Source/Scene/Model/StyleCommandsNeeded.js +29 -0
  991. package/Source/Scene/Model/TextureManager.js +244 -0
  992. package/Source/Scene/Model/TextureUniform.js +74 -0
  993. package/Source/Scene/Model/TilesetPipelineStage.js +73 -0
  994. package/Source/Scene/Model/UniformType.js +124 -0
  995. package/Source/Scene/Model/VaryingType.js +61 -0
  996. package/Source/Scene/Model/WireframePipelineStage.js +118 -0
  997. package/Source/Scene/Model/buildDrawCommand.js +153 -0
  998. package/Source/Scene/ModelAnimationLoop.js +33 -0
  999. package/Source/Scene/ModelAnimationState.js +9 -0
  1000. package/Source/Scene/ModelComponents.js +1466 -0
  1001. package/Source/Scene/Moon.js +174 -0
  1002. package/Source/Scene/Multiple3DTileContent.js +674 -0
  1003. package/Source/Scene/NeverTileDiscardPolicy.js +28 -0
  1004. package/Source/Scene/OIT.js +893 -0
  1005. package/Source/Scene/OctahedralProjectedCubeMap.js +456 -0
  1006. package/Source/Scene/OpenStreetMapImageryProvider.js +124 -0
  1007. package/Source/Scene/OrderedGroundPrimitiveCollection.js +219 -0
  1008. package/Source/Scene/Particle.js +155 -0
  1009. package/Source/Scene/ParticleBurst.js +51 -0
  1010. package/Source/Scene/ParticleEmitter.js +36 -0
  1011. package/Source/Scene/ParticleSystem.js +910 -0
  1012. package/Source/Scene/PerInstanceColorAppearance.js +296 -0
  1013. package/Source/Scene/PerformanceDisplay.js +120 -0
  1014. package/Source/Scene/PickDepth.js +105 -0
  1015. package/Source/Scene/PickDepthFramebuffer.js +79 -0
  1016. package/Source/Scene/PickFramebuffer.js +125 -0
  1017. package/Source/Scene/Picking.js +1316 -0
  1018. package/Source/Scene/PntsParser.js +480 -0
  1019. package/Source/Scene/PointCloud.js +1425 -0
  1020. package/Source/Scene/PointCloudEyeDomeLighting.js +279 -0
  1021. package/Source/Scene/PointCloudShading.js +113 -0
  1022. package/Source/Scene/PointPrimitive.js +668 -0
  1023. package/Source/Scene/PointPrimitiveCollection.js +1217 -0
  1024. package/Source/Scene/Polyline.js +431 -0
  1025. package/Source/Scene/PolylineCollection.js +1962 -0
  1026. package/Source/Scene/PolylineColorAppearance.js +224 -0
  1027. package/Source/Scene/PolylineMaterialAppearance.js +236 -0
  1028. package/Source/Scene/PostProcessStage.js +1023 -0
  1029. package/Source/Scene/PostProcessStageCollection.js +888 -0
  1030. package/Source/Scene/PostProcessStageComposite.js +362 -0
  1031. package/Source/Scene/PostProcessStageLibrary.js +838 -0
  1032. package/Source/Scene/PostProcessStageSampleMode.js +22 -0
  1033. package/Source/Scene/PostProcessStageTextureCache.js +454 -0
  1034. package/Source/Scene/Primitive.js +2536 -0
  1035. package/Source/Scene/PrimitiveCollection.js +467 -0
  1036. package/Source/Scene/PrimitiveLoadPlan.js +280 -0
  1037. package/Source/Scene/PrimitivePipeline.js +855 -0
  1038. package/Source/Scene/PrimitiveState.js +13 -0
  1039. package/Source/Scene/PropertyAttribute.js +160 -0
  1040. package/Source/Scene/PropertyAttributeProperty.js +165 -0
  1041. package/Source/Scene/PropertyTable.js +541 -0
  1042. package/Source/Scene/PropertyTexture.js +162 -0
  1043. package/Source/Scene/PropertyTextureProperty.js +263 -0
  1044. package/Source/Scene/QuadtreeOccluders.js +30 -0
  1045. package/Source/Scene/QuadtreePrimitive.js +1546 -0
  1046. package/Source/Scene/QuadtreeTile.js +539 -0
  1047. package/Source/Scene/QuadtreeTileLoadState.js +39 -0
  1048. package/Source/Scene/QuadtreeTileProvider.js +226 -0
  1049. package/Source/Scene/ResourceCache.js +810 -0
  1050. package/Source/Scene/ResourceCacheKey.js +567 -0
  1051. package/Source/Scene/ResourceCacheStatistics.js +183 -0
  1052. package/Source/Scene/ResourceLoader.js +139 -0
  1053. package/Source/Scene/ResourceLoaderState.js +48 -0
  1054. package/Source/Scene/SDFSettings.js +39 -0
  1055. package/Source/Scene/Scene.js +4498 -0
  1056. package/Source/Scene/SceneFramebuffer.js +106 -0
  1057. package/Source/Scene/SceneMode.js +56 -0
  1058. package/Source/Scene/SceneTransforms.js +466 -0
  1059. package/Source/Scene/SceneTransitioner.js +1111 -0
  1060. package/Source/Scene/ScreenSpaceCameraController.js +2933 -0
  1061. package/Source/Scene/ShadowMap.js +1958 -0
  1062. package/Source/Scene/ShadowMapShader.js +395 -0
  1063. package/Source/Scene/ShadowMode.js +78 -0
  1064. package/Source/Scene/ShadowVolumeAppearance.js +937 -0
  1065. package/Source/Scene/SingleTileImageryProvider.js +501 -0
  1066. package/Source/Scene/SkyAtmosphere.js +402 -0
  1067. package/Source/Scene/SkyBox.js +252 -0
  1068. package/Source/Scene/SphereEmitter.js +66 -0
  1069. package/Source/Scene/SplitDirection.js +34 -0
  1070. package/Source/Scene/Splitter.js +49 -0
  1071. package/Source/Scene/StencilConstants.js +37 -0
  1072. package/Source/Scene/StencilFunction.js +73 -0
  1073. package/Source/Scene/StencilOperation.js +73 -0
  1074. package/Source/Scene/StructuralMetadata.js +243 -0
  1075. package/Source/Scene/StyleExpression.js +86 -0
  1076. package/Source/Scene/Sun.js +359 -0
  1077. package/Source/Scene/SunLight.js +31 -0
  1078. package/Source/Scene/SunPostProcess.js +288 -0
  1079. package/Source/Scene/SupportedImageFormats.js +18 -0
  1080. package/Source/Scene/TerrainFillMesh.js +2220 -0
  1081. package/Source/Scene/TerrainState.js +13 -0
  1082. package/Source/Scene/TextureAtlas.js +556 -0
  1083. package/Source/Scene/TileBoundingRegion.js +490 -0
  1084. package/Source/Scene/TileBoundingS2Cell.js +703 -0
  1085. package/Source/Scene/TileBoundingSphere.js +167 -0
  1086. package/Source/Scene/TileBoundingVolume.js +68 -0
  1087. package/Source/Scene/TileCoordinatesImageryProvider.js +379 -0
  1088. package/Source/Scene/TileDiscardPolicy.js +34 -0
  1089. package/Source/Scene/TileImagery.js +130 -0
  1090. package/Source/Scene/TileMapServiceImageryProvider.js +403 -0
  1091. package/Source/Scene/TileMetadata.js +184 -0
  1092. package/Source/Scene/TileOrientedBoundingBox.js +219 -0
  1093. package/Source/Scene/TileReplacementQueue.js +119 -0
  1094. package/Source/Scene/TileSelectionResult.js +80 -0
  1095. package/Source/Scene/TileState.js +10 -0
  1096. package/Source/Scene/Tileset3DTileContent.js +158 -0
  1097. package/Source/Scene/TilesetMetadata.js +186 -0
  1098. package/Source/Scene/TimeDynamicImagery.js +308 -0
  1099. package/Source/Scene/TimeDynamicPointCloud.js +819 -0
  1100. package/Source/Scene/Tonemapper.js +52 -0
  1101. package/Source/Scene/TranslucentTileClassification.js +524 -0
  1102. package/Source/Scene/TweenCollection.js +588 -0
  1103. package/Source/Scene/UrlTemplateImageryProvider.js +1240 -0
  1104. package/Source/Scene/Vector3DTileBatch.js +37 -0
  1105. package/Source/Scene/Vector3DTileClampedPolylines.js +772 -0
  1106. package/Source/Scene/Vector3DTileContent.js +774 -0
  1107. package/Source/Scene/Vector3DTileGeometry.js +490 -0
  1108. package/Source/Scene/Vector3DTilePoints.js +529 -0
  1109. package/Source/Scene/Vector3DTilePolygons.js +479 -0
  1110. package/Source/Scene/Vector3DTilePolylines.js +676 -0
  1111. package/Source/Scene/Vector3DTilePrimitive.js +1282 -0
  1112. package/Source/Scene/VertexAttributeSemantic.js +273 -0
  1113. package/Source/Scene/VerticalOrigin.js +49 -0
  1114. package/Source/Scene/View.js +431 -0
  1115. package/Source/Scene/ViewportQuad.js +182 -0
  1116. package/Source/Scene/WebMapServiceImageryProvider.js +768 -0
  1117. package/Source/Scene/WebMapTileServiceImageryProvider.js +711 -0
  1118. package/Source/Scene/computeFlyToLocationForRectangle.js +69 -0
  1119. package/Source/Scene/createBillboardPointCallback.js +70 -0
  1120. package/Source/Scene/createElevationBandMaterial.js +585 -0
  1121. package/Source/Scene/createOsmBuildings.js +75 -0
  1122. package/Source/Scene/createTangentSpaceDebugPrimitive.js +116 -0
  1123. package/Source/Scene/createWorldImagery.js +38 -0
  1124. package/Source/Scene/findContentMetadata.js +54 -0
  1125. package/Source/Scene/findGroupMetadata.js +39 -0
  1126. package/Source/Scene/findTileMetadata.js +56 -0
  1127. package/Source/Scene/getBinaryAccessor.js +56 -0
  1128. package/Source/Scene/getClipAndStyleCode.js +34 -0
  1129. package/Source/Scene/getClippingFunction.js +163 -0
  1130. package/Source/Scene/hasExtension.js +19 -0
  1131. package/Source/Scene/parseBatchTable.js +439 -0
  1132. package/Source/Scene/parseBoundingVolumeSemantics.js +121 -0
  1133. package/Source/Scene/parseFeatureMetadataLegacy.js +139 -0
  1134. package/Source/Scene/parseStructuralMetadata.js +102 -0
  1135. package/Source/Scene/preprocess3DTileContent.js +94 -0
  1136. package/Source/Shaders/AdjustTranslucentFS.glsl +24 -0
  1137. package/Source/Shaders/AdjustTranslucentFS.js +26 -0
  1138. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +29 -0
  1139. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +31 -0
  1140. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +26 -0
  1141. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +28 -0
  1142. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +23 -0
  1143. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +25 -0
  1144. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +17 -0
  1145. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +19 -0
  1146. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +33 -0
  1147. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +35 -0
  1148. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +19 -0
  1149. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +21 -0
  1150. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +24 -0
  1151. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +26 -0
  1152. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +20 -0
  1153. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +22 -0
  1154. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +6 -0
  1155. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +8 -0
  1156. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +15 -0
  1157. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +17 -0
  1158. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +28 -0
  1159. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +30 -0
  1160. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +33 -0
  1161. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +35 -0
  1162. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +25 -0
  1163. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +27 -0
  1164. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +20 -0
  1165. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +22 -0
  1166. package/Source/Shaders/AtmosphereCommon.glsl +152 -0
  1167. package/Source/Shaders/AtmosphereCommon.js +154 -0
  1168. package/Source/Shaders/BillboardCollectionFS.glsl +208 -0
  1169. package/Source/Shaders/BillboardCollectionFS.js +210 -0
  1170. package/Source/Shaders/BillboardCollectionVS.glsl +434 -0
  1171. package/Source/Shaders/BillboardCollectionVS.js +436 -0
  1172. package/Source/Shaders/BrdfLutGeneratorFS.glsl +83 -0
  1173. package/Source/Shaders/BrdfLutGeneratorFS.js +85 -0
  1174. package/Source/Shaders/Builtin/Constants/degreesPerRadian.glsl +16 -0
  1175. package/Source/Shaders/Builtin/Constants/degreesPerRadian.js +18 -0
  1176. package/Source/Shaders/Builtin/Constants/depthRange.glsl +14 -0
  1177. package/Source/Shaders/Builtin/Constants/depthRange.js +16 -0
  1178. package/Source/Shaders/Builtin/Constants/epsilon1.glsl +7 -0
  1179. package/Source/Shaders/Builtin/Constants/epsilon1.js +9 -0
  1180. package/Source/Shaders/Builtin/Constants/epsilon2.glsl +7 -0
  1181. package/Source/Shaders/Builtin/Constants/epsilon2.js +9 -0
  1182. package/Source/Shaders/Builtin/Constants/epsilon3.glsl +7 -0
  1183. package/Source/Shaders/Builtin/Constants/epsilon3.js +9 -0
  1184. package/Source/Shaders/Builtin/Constants/epsilon4.glsl +7 -0
  1185. package/Source/Shaders/Builtin/Constants/epsilon4.js +9 -0
  1186. package/Source/Shaders/Builtin/Constants/epsilon5.glsl +7 -0
  1187. package/Source/Shaders/Builtin/Constants/epsilon5.js +9 -0
  1188. package/Source/Shaders/Builtin/Constants/epsilon6.glsl +7 -0
  1189. package/Source/Shaders/Builtin/Constants/epsilon6.js +9 -0
  1190. package/Source/Shaders/Builtin/Constants/epsilon7.glsl +7 -0
  1191. package/Source/Shaders/Builtin/Constants/epsilon7.js +9 -0
  1192. package/Source/Shaders/Builtin/Constants/infinity.glsl +7 -0
  1193. package/Source/Shaders/Builtin/Constants/infinity.js +9 -0
  1194. package/Source/Shaders/Builtin/Constants/oneOverPi.glsl +16 -0
  1195. package/Source/Shaders/Builtin/Constants/oneOverPi.js +18 -0
  1196. package/Source/Shaders/Builtin/Constants/oneOverTwoPi.glsl +16 -0
  1197. package/Source/Shaders/Builtin/Constants/oneOverTwoPi.js +18 -0
  1198. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +9 -0
  1199. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +11 -0
  1200. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +9 -0
  1201. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +11 -0
  1202. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +9 -0
  1203. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +11 -0
  1204. package/Source/Shaders/Builtin/Constants/passClassification.glsl +9 -0
  1205. package/Source/Shaders/Builtin/Constants/passClassification.js +11 -0
  1206. package/Source/Shaders/Builtin/Constants/passCompute.glsl +9 -0
  1207. package/Source/Shaders/Builtin/Constants/passCompute.js +11 -0
  1208. package/Source/Shaders/Builtin/Constants/passEnvironment.glsl +9 -0
  1209. package/Source/Shaders/Builtin/Constants/passEnvironment.js +11 -0
  1210. package/Source/Shaders/Builtin/Constants/passGlobe.glsl +9 -0
  1211. package/Source/Shaders/Builtin/Constants/passGlobe.js +11 -0
  1212. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +9 -0
  1213. package/Source/Shaders/Builtin/Constants/passOpaque.js +11 -0
  1214. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +9 -0
  1215. package/Source/Shaders/Builtin/Constants/passOverlay.js +11 -0
  1216. package/Source/Shaders/Builtin/Constants/passTerrainClassification.glsl +9 -0
  1217. package/Source/Shaders/Builtin/Constants/passTerrainClassification.js +11 -0
  1218. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +9 -0
  1219. package/Source/Shaders/Builtin/Constants/passTranslucent.js +11 -0
  1220. package/Source/Shaders/Builtin/Constants/pi.glsl +16 -0
  1221. package/Source/Shaders/Builtin/Constants/pi.js +18 -0
  1222. package/Source/Shaders/Builtin/Constants/piOverFour.glsl +16 -0
  1223. package/Source/Shaders/Builtin/Constants/piOverFour.js +18 -0
  1224. package/Source/Shaders/Builtin/Constants/piOverSix.glsl +16 -0
  1225. package/Source/Shaders/Builtin/Constants/piOverSix.js +18 -0
  1226. package/Source/Shaders/Builtin/Constants/piOverThree.glsl +16 -0
  1227. package/Source/Shaders/Builtin/Constants/piOverThree.js +18 -0
  1228. package/Source/Shaders/Builtin/Constants/piOverTwo.glsl +16 -0
  1229. package/Source/Shaders/Builtin/Constants/piOverTwo.js +18 -0
  1230. package/Source/Shaders/Builtin/Constants/radiansPerDegree.glsl +16 -0
  1231. package/Source/Shaders/Builtin/Constants/radiansPerDegree.js +18 -0
  1232. package/Source/Shaders/Builtin/Constants/sceneMode2D.glsl +11 -0
  1233. package/Source/Shaders/Builtin/Constants/sceneMode2D.js +13 -0
  1234. package/Source/Shaders/Builtin/Constants/sceneMode3D.glsl +11 -0
  1235. package/Source/Shaders/Builtin/Constants/sceneMode3D.js +13 -0
  1236. package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.glsl +11 -0
  1237. package/Source/Shaders/Builtin/Constants/sceneModeColumbusView.js +13 -0
  1238. package/Source/Shaders/Builtin/Constants/sceneModeMorphing.glsl +11 -0
  1239. package/Source/Shaders/Builtin/Constants/sceneModeMorphing.js +13 -0
  1240. package/Source/Shaders/Builtin/Constants/solarRadius.glsl +13 -0
  1241. package/Source/Shaders/Builtin/Constants/solarRadius.js +15 -0
  1242. package/Source/Shaders/Builtin/Constants/threePiOver2.glsl +16 -0
  1243. package/Source/Shaders/Builtin/Constants/threePiOver2.js +18 -0
  1244. package/Source/Shaders/Builtin/Constants/twoPi.glsl +16 -0
  1245. package/Source/Shaders/Builtin/Constants/twoPi.js +18 -0
  1246. package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.glsl +16 -0
  1247. package/Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +18 -0
  1248. package/Source/Shaders/Builtin/CzmBuiltins.js +262 -0
  1249. package/Source/Shaders/Builtin/Functions/HSBToRGB.glsl +24 -0
  1250. package/Source/Shaders/Builtin/Functions/HSBToRGB.js +26 -0
  1251. package/Source/Shaders/Builtin/Functions/HSLToRGB.glsl +31 -0
  1252. package/Source/Shaders/Builtin/Functions/HSLToRGB.js +33 -0
  1253. package/Source/Shaders/Builtin/Functions/RGBToHSB.glsl +27 -0
  1254. package/Source/Shaders/Builtin/Functions/RGBToHSB.js +29 -0
  1255. package/Source/Shaders/Builtin/Functions/RGBToHSL.glsl +34 -0
  1256. package/Source/Shaders/Builtin/Functions/RGBToHSL.js +36 -0
  1257. package/Source/Shaders/Builtin/Functions/RGBToXYZ.glsl +30 -0
  1258. package/Source/Shaders/Builtin/Functions/RGBToXYZ.js +32 -0
  1259. package/Source/Shaders/Builtin/Functions/XYZToRGB.glsl +30 -0
  1260. package/Source/Shaders/Builtin/Functions/XYZToRGB.js +32 -0
  1261. package/Source/Shaders/Builtin/Functions/acesTonemapping.glsl +16 -0
  1262. package/Source/Shaders/Builtin/Functions/acesTonemapping.js +18 -0
  1263. package/Source/Shaders/Builtin/Functions/alphaWeight.glsl +11 -0
  1264. package/Source/Shaders/Builtin/Functions/alphaWeight.js +13 -0
  1265. package/Source/Shaders/Builtin/Functions/antialias.glsl +39 -0
  1266. package/Source/Shaders/Builtin/Functions/antialias.js +41 -0
  1267. package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.glsl +18 -0
  1268. package/Source/Shaders/Builtin/Functions/approximateSphericalCoordinates.js +20 -0
  1269. package/Source/Shaders/Builtin/Functions/backFacing.glsl +13 -0
  1270. package/Source/Shaders/Builtin/Functions/backFacing.js +15 -0
  1271. package/Source/Shaders/Builtin/Functions/branchFreeTernary.glsl +71 -0
  1272. package/Source/Shaders/Builtin/Functions/branchFreeTernary.js +73 -0
  1273. package/Source/Shaders/Builtin/Functions/cascadeColor.glsl +8 -0
  1274. package/Source/Shaders/Builtin/Functions/cascadeColor.js +10 -0
  1275. package/Source/Shaders/Builtin/Functions/cascadeDistance.glsl +7 -0
  1276. package/Source/Shaders/Builtin/Functions/cascadeDistance.js +9 -0
  1277. package/Source/Shaders/Builtin/Functions/cascadeMatrix.glsl +10 -0
  1278. package/Source/Shaders/Builtin/Functions/cascadeMatrix.js +12 -0
  1279. package/Source/Shaders/Builtin/Functions/cascadeWeights.glsl +10 -0
  1280. package/Source/Shaders/Builtin/Functions/cascadeWeights.js +12 -0
  1281. package/Source/Shaders/Builtin/Functions/columbusViewMorph.glsl +12 -0
  1282. package/Source/Shaders/Builtin/Functions/columbusViewMorph.js +14 -0
  1283. package/Source/Shaders/Builtin/Functions/computePosition.glsl +22 -0
  1284. package/Source/Shaders/Builtin/Functions/computePosition.js +24 -0
  1285. package/Source/Shaders/Builtin/Functions/cosineAndSine.glsl +211 -0
  1286. package/Source/Shaders/Builtin/Functions/cosineAndSine.js +213 -0
  1287. package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.glsl +17 -0
  1288. package/Source/Shaders/Builtin/Functions/decompressTextureCoordinates.js +19 -0
  1289. package/Source/Shaders/Builtin/Functions/defaultPbrMaterial.glsl +16 -0
  1290. package/Source/Shaders/Builtin/Functions/defaultPbrMaterial.js +18 -0
  1291. package/Source/Shaders/Builtin/Functions/depthClamp.glsl +47 -0
  1292. package/Source/Shaders/Builtin/Functions/depthClamp.js +49 -0
  1293. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.glsl +33 -0
  1294. package/Source/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +35 -0
  1295. package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.glsl +12 -0
  1296. package/Source/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +14 -0
  1297. package/Source/Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates.glsl +10 -0
  1298. package/Source/Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates.js +12 -0
  1299. package/Source/Shaders/Builtin/Functions/equalsEpsilon.glsl +36 -0
  1300. package/Source/Shaders/Builtin/Functions/equalsEpsilon.js +38 -0
  1301. package/Source/Shaders/Builtin/Functions/eyeOffset.glsl +20 -0
  1302. package/Source/Shaders/Builtin/Functions/eyeOffset.js +22 -0
  1303. package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.glsl +32 -0
  1304. package/Source/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +34 -0
  1305. package/Source/Shaders/Builtin/Functions/fastApproximateAtan.glsl +55 -0
  1306. package/Source/Shaders/Builtin/Functions/fastApproximateAtan.js +57 -0
  1307. package/Source/Shaders/Builtin/Functions/fog.glsl +38 -0
  1308. package/Source/Shaders/Builtin/Functions/fog.js +40 -0
  1309. package/Source/Shaders/Builtin/Functions/gammaCorrect.glsl +22 -0
  1310. package/Source/Shaders/Builtin/Functions/gammaCorrect.js +24 -0
  1311. package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.glsl +16 -0
  1312. package/Source/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +18 -0
  1313. package/Source/Shaders/Builtin/Functions/getDefaultMaterial.glsl +27 -0
  1314. package/Source/Shaders/Builtin/Functions/getDefaultMaterial.js +29 -0
  1315. package/Source/Shaders/Builtin/Functions/getLambertDiffuse.glsl +22 -0
  1316. package/Source/Shaders/Builtin/Functions/getLambertDiffuse.js +24 -0
  1317. package/Source/Shaders/Builtin/Functions/getSpecular.glsl +29 -0
  1318. package/Source/Shaders/Builtin/Functions/getSpecular.js +31 -0
  1319. package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +37 -0
  1320. package/Source/Shaders/Builtin/Functions/getWaterNoise.js +39 -0
  1321. package/Source/Shaders/Builtin/Functions/hue.glsl +30 -0
  1322. package/Source/Shaders/Builtin/Functions/hue.js +32 -0
  1323. package/Source/Shaders/Builtin/Functions/inverseGamma.glsl +12 -0
  1324. package/Source/Shaders/Builtin/Functions/inverseGamma.js +14 -0
  1325. package/Source/Shaders/Builtin/Functions/isEmpty.glsl +19 -0
  1326. package/Source/Shaders/Builtin/Functions/isEmpty.js +21 -0
  1327. package/Source/Shaders/Builtin/Functions/isFull.glsl +19 -0
  1328. package/Source/Shaders/Builtin/Functions/isFull.js +21 -0
  1329. package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.glsl +21 -0
  1330. package/Source/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +23 -0
  1331. package/Source/Shaders/Builtin/Functions/lineDistance.glsl +14 -0
  1332. package/Source/Shaders/Builtin/Functions/lineDistance.js +16 -0
  1333. package/Source/Shaders/Builtin/Functions/linearToSrgb.glsl +16 -0
  1334. package/Source/Shaders/Builtin/Functions/linearToSrgb.js +18 -0
  1335. package/Source/Shaders/Builtin/Functions/luminance.glsl +20 -0
  1336. package/Source/Shaders/Builtin/Functions/luminance.js +22 -0
  1337. package/Source/Shaders/Builtin/Functions/metersPerPixel.glsl +61 -0
  1338. package/Source/Shaders/Builtin/Functions/metersPerPixel.js +63 -0
  1339. package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.glsl +37 -0
  1340. package/Source/Shaders/Builtin/Functions/modelToWindowCoordinates.js +39 -0
  1341. package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.glsl +18 -0
  1342. package/Source/Shaders/Builtin/Functions/multiplyWithColorBalance.js +20 -0
  1343. package/Source/Shaders/Builtin/Functions/nearFarScalar.glsl +26 -0
  1344. package/Source/Shaders/Builtin/Functions/nearFarScalar.js +28 -0
  1345. package/Source/Shaders/Builtin/Functions/octDecode.glsl +83 -0
  1346. package/Source/Shaders/Builtin/Functions/octDecode.js +85 -0
  1347. package/Source/Shaders/Builtin/Functions/packDepth.glsl +18 -0
  1348. package/Source/Shaders/Builtin/Functions/packDepth.js +20 -0
  1349. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +99 -0
  1350. package/Source/Shaders/Builtin/Functions/pbrLighting.js +101 -0
  1351. package/Source/Shaders/Builtin/Functions/pbrMetallicRoughnessMaterial.glsl +37 -0
  1352. package/Source/Shaders/Builtin/Functions/pbrMetallicRoughnessMaterial.js +39 -0
  1353. package/Source/Shaders/Builtin/Functions/pbrSpecularGlossinessMaterial.glsl +30 -0
  1354. package/Source/Shaders/Builtin/Functions/pbrSpecularGlossinessMaterial.js +32 -0
  1355. package/Source/Shaders/Builtin/Functions/phong.glsl +63 -0
  1356. package/Source/Shaders/Builtin/Functions/phong.js +65 -0
  1357. package/Source/Shaders/Builtin/Functions/planeDistance.glsl +28 -0
  1358. package/Source/Shaders/Builtin/Functions/planeDistance.js +30 -0
  1359. package/Source/Shaders/Builtin/Functions/pointAlongRay.glsl +19 -0
  1360. package/Source/Shaders/Builtin/Functions/pointAlongRay.js +21 -0
  1361. package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.glsl +83 -0
  1362. package/Source/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +85 -0
  1363. package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.glsl +36 -0
  1364. package/Source/Shaders/Builtin/Functions/raySphereIntersectionInterval.js +38 -0
  1365. package/Source/Shaders/Builtin/Functions/readDepth.glsl +4 -0
  1366. package/Source/Shaders/Builtin/Functions/readDepth.js +6 -0
  1367. package/Source/Shaders/Builtin/Functions/readNonPerspective.glsl +31 -0
  1368. package/Source/Shaders/Builtin/Functions/readNonPerspective.js +33 -0
  1369. package/Source/Shaders/Builtin/Functions/reverseLogDepth.glsl +11 -0
  1370. package/Source/Shaders/Builtin/Functions/reverseLogDepth.js +13 -0
  1371. package/Source/Shaders/Builtin/Functions/round.glsl +22 -0
  1372. package/Source/Shaders/Builtin/Functions/round.js +24 -0
  1373. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +78 -0
  1374. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +80 -0
  1375. package/Source/Shaders/Builtin/Functions/saturation.glsl +22 -0
  1376. package/Source/Shaders/Builtin/Functions/saturation.js +24 -0
  1377. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +24 -0
  1378. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +26 -0
  1379. package/Source/Shaders/Builtin/Functions/shadowVisibility.glsl +66 -0
  1380. package/Source/Shaders/Builtin/Functions/shadowVisibility.js +68 -0
  1381. package/Source/Shaders/Builtin/Functions/signNotZero.glsl +29 -0
  1382. package/Source/Shaders/Builtin/Functions/signNotZero.js +31 -0
  1383. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +42 -0
  1384. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +44 -0
  1385. package/Source/Shaders/Builtin/Functions/srgbToLinear.glsl +16 -0
  1386. package/Source/Shaders/Builtin/Functions/srgbToLinear.js +18 -0
  1387. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +25 -0
  1388. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +27 -0
  1389. package/Source/Shaders/Builtin/Functions/transformPlane.glsl +15 -0
  1390. package/Source/Shaders/Builtin/Functions/transformPlane.js +17 -0
  1391. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +40 -0
  1392. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +42 -0
  1393. package/Source/Shaders/Builtin/Functions/translucentPhong.glsl +27 -0
  1394. package/Source/Shaders/Builtin/Functions/translucentPhong.js +29 -0
  1395. package/Source/Shaders/Builtin/Functions/transpose.glsl +45 -0
  1396. package/Source/Shaders/Builtin/Functions/transpose.js +47 -0
  1397. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +16 -0
  1398. package/Source/Shaders/Builtin/Functions/unpackDepth.js +18 -0
  1399. package/Source/Shaders/Builtin/Functions/unpackFloat.glsl +24 -0
  1400. package/Source/Shaders/Builtin/Functions/unpackFloat.js +26 -0
  1401. package/Source/Shaders/Builtin/Functions/unpackUint.glsl +31 -0
  1402. package/Source/Shaders/Builtin/Functions/unpackUint.js +33 -0
  1403. package/Source/Shaders/Builtin/Functions/valueTransform.glsl +38 -0
  1404. package/Source/Shaders/Builtin/Functions/valueTransform.js +40 -0
  1405. package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +64 -0
  1406. package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +66 -0
  1407. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +99 -0
  1408. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +101 -0
  1409. package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +27 -0
  1410. package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +29 -0
  1411. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +82 -0
  1412. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +84 -0
  1413. package/Source/Shaders/Builtin/Functions/writeNonPerspective.glsl +32 -0
  1414. package/Source/Shaders/Builtin/Functions/writeNonPerspective.js +34 -0
  1415. package/Source/Shaders/Builtin/Structs/depthRangeStruct.glsl +9 -0
  1416. package/Source/Shaders/Builtin/Structs/depthRangeStruct.js +11 -0
  1417. package/Source/Shaders/Builtin/Structs/material.glsl +22 -0
  1418. package/Source/Shaders/Builtin/Structs/material.js +24 -0
  1419. package/Source/Shaders/Builtin/Structs/materialInput.glsl +28 -0
  1420. package/Source/Shaders/Builtin/Structs/materialInput.js +30 -0
  1421. package/Source/Shaders/Builtin/Structs/modelMaterial.glsl +29 -0
  1422. package/Source/Shaders/Builtin/Structs/modelMaterial.js +31 -0
  1423. package/Source/Shaders/Builtin/Structs/modelVertexOutput.glsl +16 -0
  1424. package/Source/Shaders/Builtin/Structs/modelVertexOutput.js +18 -0
  1425. package/Source/Shaders/Builtin/Structs/pbrParameters.glsl +16 -0
  1426. package/Source/Shaders/Builtin/Structs/pbrParameters.js +18 -0
  1427. package/Source/Shaders/Builtin/Structs/ray.glsl +11 -0
  1428. package/Source/Shaders/Builtin/Structs/ray.js +13 -0
  1429. package/Source/Shaders/Builtin/Structs/raySegment.glsl +27 -0
  1430. package/Source/Shaders/Builtin/Structs/raySegment.js +29 -0
  1431. package/Source/Shaders/Builtin/Structs/shadowParameters.glsl +15 -0
  1432. package/Source/Shaders/Builtin/Structs/shadowParameters.js +17 -0
  1433. package/Source/Shaders/CloudCollectionFS.glsl +263 -0
  1434. package/Source/Shaders/CloudCollectionFS.js +265 -0
  1435. package/Source/Shaders/CloudCollectionVS.glsl +48 -0
  1436. package/Source/Shaders/CloudCollectionVS.js +50 -0
  1437. package/Source/Shaders/CloudNoiseFS.glsl +92 -0
  1438. package/Source/Shaders/CloudNoiseFS.js +94 -0
  1439. package/Source/Shaders/CloudNoiseVS.glsl +18 -0
  1440. package/Source/Shaders/CloudNoiseVS.js +20 -0
  1441. package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +12 -0
  1442. package/Source/Shaders/CompareAndPackTranslucentDepth.js +14 -0
  1443. package/Source/Shaders/CompositeOITFS.glsl +31 -0
  1444. package/Source/Shaders/CompositeOITFS.js +33 -0
  1445. package/Source/Shaders/DepthPlaneFS.glsl +36 -0
  1446. package/Source/Shaders/DepthPlaneFS.js +38 -0
  1447. package/Source/Shaders/DepthPlaneVS.glsl +11 -0
  1448. package/Source/Shaders/DepthPlaneVS.js +13 -0
  1449. package/Source/Shaders/EllipsoidFS.glsl +112 -0
  1450. package/Source/Shaders/EllipsoidFS.js +114 -0
  1451. package/Source/Shaders/EllipsoidVS.glsl +28 -0
  1452. package/Source/Shaders/EllipsoidVS.js +30 -0
  1453. package/Source/Shaders/FXAA3_11.glsl +648 -0
  1454. package/Source/Shaders/FXAA3_11.js +678 -0
  1455. package/Source/Shaders/GlobeFS.glsl +652 -0
  1456. package/Source/Shaders/GlobeFS.js +654 -0
  1457. package/Source/Shaders/GlobeVS.glsl +253 -0
  1458. package/Source/Shaders/GlobeVS.js +255 -0
  1459. package/Source/Shaders/GroundAtmosphere.glsl +18 -0
  1460. package/Source/Shaders/GroundAtmosphere.js +20 -0
  1461. package/Source/Shaders/Materials/AspectRampMaterial.glsl +11 -0
  1462. package/Source/Shaders/Materials/AspectRampMaterial.js +13 -0
  1463. package/Source/Shaders/Materials/BumpMapMaterial.glsl +29 -0
  1464. package/Source/Shaders/Materials/BumpMapMaterial.js +31 -0
  1465. package/Source/Shaders/Materials/CheckerboardMaterial.glsl +29 -0
  1466. package/Source/Shaders/Materials/CheckerboardMaterial.js +31 -0
  1467. package/Source/Shaders/Materials/DotMaterial.glsl +18 -0
  1468. package/Source/Shaders/Materials/DotMaterial.js +20 -0
  1469. package/Source/Shaders/Materials/ElevationBandMaterial.glsl +74 -0
  1470. package/Source/Shaders/Materials/ElevationBandMaterial.js +76 -0
  1471. package/Source/Shaders/Materials/ElevationContourMaterial.glsl +29 -0
  1472. package/Source/Shaders/Materials/ElevationContourMaterial.js +31 -0
  1473. package/Source/Shaders/Materials/ElevationRampMaterial.glsl +14 -0
  1474. package/Source/Shaders/Materials/ElevationRampMaterial.js +16 -0
  1475. package/Source/Shaders/Materials/FadeMaterial.glsl +37 -0
  1476. package/Source/Shaders/Materials/FadeMaterial.js +39 -0
  1477. package/Source/Shaders/Materials/GridMaterial.glsl +60 -0
  1478. package/Source/Shaders/Materials/GridMaterial.js +62 -0
  1479. package/Source/Shaders/Materials/NormalMapMaterial.glsl +19 -0
  1480. package/Source/Shaders/Materials/NormalMapMaterial.js +21 -0
  1481. package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +66 -0
  1482. package/Source/Shaders/Materials/PolylineArrowMaterial.js +68 -0
  1483. package/Source/Shaders/Materials/PolylineDashMaterial.glsl +39 -0
  1484. package/Source/Shaders/Materials/PolylineDashMaterial.js +41 -0
  1485. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +25 -0
  1486. package/Source/Shaders/Materials/PolylineGlowMaterial.js +27 -0
  1487. package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +29 -0
  1488. package/Source/Shaders/Materials/PolylineOutlineMaterial.js +31 -0
  1489. package/Source/Shaders/Materials/RimLightingMaterial.glsl +21 -0
  1490. package/Source/Shaders/Materials/RimLightingMaterial.js +23 -0
  1491. package/Source/Shaders/Materials/SlopeRampMaterial.glsl +11 -0
  1492. package/Source/Shaders/Materials/SlopeRampMaterial.js +13 -0
  1493. package/Source/Shaders/Materials/StripeMaterial.glsl +24 -0
  1494. package/Source/Shaders/Materials/StripeMaterial.js +26 -0
  1495. package/Source/Shaders/Materials/Water.glsl +58 -0
  1496. package/Source/Shaders/Materials/Water.js +60 -0
  1497. package/Source/Shaders/Model/CPUStylingStageFS.glsl +49 -0
  1498. package/Source/Shaders/Model/CPUStylingStageFS.js +51 -0
  1499. package/Source/Shaders/Model/CPUStylingStageVS.glsl +30 -0
  1500. package/Source/Shaders/Model/CPUStylingStageVS.js +32 -0
  1501. package/Source/Shaders/Model/CustomShaderStageFS.glsl +18 -0
  1502. package/Source/Shaders/Model/CustomShaderStageFS.js +20 -0
  1503. package/Source/Shaders/Model/CustomShaderStageVS.glsl +19 -0
  1504. package/Source/Shaders/Model/CustomShaderStageVS.js +21 -0
  1505. package/Source/Shaders/Model/FeatureIdStageFS.glsl +4 -0
  1506. package/Source/Shaders/Model/FeatureIdStageFS.js +6 -0
  1507. package/Source/Shaders/Model/FeatureIdStageVS.glsl +6 -0
  1508. package/Source/Shaders/Model/FeatureIdStageVS.js +8 -0
  1509. package/Source/Shaders/Model/GeometryStageFS.glsl +25 -0
  1510. package/Source/Shaders/Model/GeometryStageFS.js +27 -0
  1511. package/Source/Shaders/Model/GeometryStageVS.glsl +42 -0
  1512. package/Source/Shaders/Model/GeometryStageVS.js +44 -0
  1513. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +165 -0
  1514. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +166 -0
  1515. package/Source/Shaders/Model/InstancingStageCommon.glsl +67 -0
  1516. package/Source/Shaders/Model/InstancingStageCommon.js +69 -0
  1517. package/Source/Shaders/Model/InstancingStageVS.glsl +18 -0
  1518. package/Source/Shaders/Model/InstancingStageVS.js +20 -0
  1519. package/Source/Shaders/Model/LegacyInstancingStageVS.glsl +20 -0
  1520. package/Source/Shaders/Model/LegacyInstancingStageVS.js +22 -0
  1521. package/Source/Shaders/Model/LightingStageFS.glsl +73 -0
  1522. package/Source/Shaders/Model/LightingStageFS.js +75 -0
  1523. package/Source/Shaders/Model/MaterialStageFS.glsl +226 -0
  1524. package/Source/Shaders/Model/MaterialStageFS.js +228 -0
  1525. package/Source/Shaders/Model/MetadataStageFS.glsl +9 -0
  1526. package/Source/Shaders/Model/MetadataStageFS.js +11 -0
  1527. package/Source/Shaders/Model/MetadataStageVS.glsl +10 -0
  1528. package/Source/Shaders/Model/MetadataStageVS.js +12 -0
  1529. package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +88 -0
  1530. package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +90 -0
  1531. package/Source/Shaders/Model/ModelColorStageFS.glsl +7 -0
  1532. package/Source/Shaders/Model/ModelColorStageFS.js +8 -0
  1533. package/Source/Shaders/Model/ModelFS.glsl +89 -0
  1534. package/Source/Shaders/Model/ModelFS.js +91 -0
  1535. package/Source/Shaders/Model/ModelSilhouetteStageFS.glsl +5 -0
  1536. package/Source/Shaders/Model/ModelSilhouetteStageFS.js +6 -0
  1537. package/Source/Shaders/Model/ModelSilhouetteStageVS.glsl +10 -0
  1538. package/Source/Shaders/Model/ModelSilhouetteStageVS.js +12 -0
  1539. package/Source/Shaders/Model/ModelSplitterStageFS.glsl +9 -0
  1540. package/Source/Shaders/Model/ModelSplitterStageFS.js +11 -0
  1541. package/Source/Shaders/Model/ModelVS.glsl +136 -0
  1542. package/Source/Shaders/Model/ModelVS.js +138 -0
  1543. package/Source/Shaders/Model/MorphTargetsStageVS.glsl +15 -0
  1544. package/Source/Shaders/Model/MorphTargetsStageVS.js +16 -0
  1545. package/Source/Shaders/Model/PointCloudStylingStageVS.glsl +45 -0
  1546. package/Source/Shaders/Model/PointCloudStylingStageVS.js +46 -0
  1547. package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +16 -0
  1548. package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +18 -0
  1549. package/Source/Shaders/Model/PrimitiveOutlineStageVS.glsl +3 -0
  1550. package/Source/Shaders/Model/PrimitiveOutlineStageVS.js +5 -0
  1551. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +51 -0
  1552. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +53 -0
  1553. package/Source/Shaders/Model/SkinningStageVS.glsl +18 -0
  1554. package/Source/Shaders/Model/SkinningStageVS.js +19 -0
  1555. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +89 -0
  1556. package/Source/Shaders/OctahedralProjectionAtlasFS.js +91 -0
  1557. package/Source/Shaders/OctahedralProjectionFS.glsl +14 -0
  1558. package/Source/Shaders/OctahedralProjectionFS.js +16 -0
  1559. package/Source/Shaders/OctahedralProjectionVS.glsl +10 -0
  1560. package/Source/Shaders/OctahedralProjectionVS.js +12 -0
  1561. package/Source/Shaders/PointPrimitiveCollectionFS.glsl +43 -0
  1562. package/Source/Shaders/PointPrimitiveCollectionFS.js +45 -0
  1563. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +180 -0
  1564. package/Source/Shaders/PointPrimitiveCollectionVS.js +182 -0
  1565. package/Source/Shaders/PolylineCommon.glsl +176 -0
  1566. package/Source/Shaders/PolylineCommon.js +178 -0
  1567. package/Source/Shaders/PolylineFS.glsl +25 -0
  1568. package/Source/Shaders/PolylineFS.js +27 -0
  1569. package/Source/Shaders/PolylineShadowVolumeFS.glsl +90 -0
  1570. package/Source/Shaders/PolylineShadowVolumeFS.js +92 -0
  1571. package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +45 -0
  1572. package/Source/Shaders/PolylineShadowVolumeMorphFS.js +47 -0
  1573. package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +177 -0
  1574. package/Source/Shaders/PolylineShadowVolumeMorphVS.js +179 -0
  1575. package/Source/Shaders/PolylineShadowVolumeVS.glsl +168 -0
  1576. package/Source/Shaders/PolylineShadowVolumeVS.js +170 -0
  1577. package/Source/Shaders/PolylineVS.glsl +103 -0
  1578. package/Source/Shaders/PolylineVS.js +105 -0
  1579. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +21 -0
  1580. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +23 -0
  1581. package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +17 -0
  1582. package/Source/Shaders/PostProcessStages/AdditiveBlend.js +19 -0
  1583. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +115 -0
  1584. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +117 -0
  1585. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +11 -0
  1586. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +13 -0
  1587. package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +19 -0
  1588. package/Source/Shaders/PostProcessStages/BlackAndWhite.js +21 -0
  1589. package/Source/Shaders/PostProcessStages/BloomComposite.glsl +20 -0
  1590. package/Source/Shaders/PostProcessStages/BloomComposite.js +22 -0
  1591. package/Source/Shaders/PostProcessStages/BrightPass.glsl +30 -0
  1592. package/Source/Shaders/PostProcessStages/BrightPass.js +32 -0
  1593. package/Source/Shaders/PostProcessStages/Brightness.glsl +11 -0
  1594. package/Source/Shaders/PostProcessStages/Brightness.js +13 -0
  1595. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +31 -0
  1596. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +33 -0
  1597. package/Source/Shaders/PostProcessStages/ContrastBias.glsl +17 -0
  1598. package/Source/Shaders/PostProcessStages/ContrastBias.js +19 -0
  1599. package/Source/Shaders/PostProcessStages/DepthOfField.glsl +39 -0
  1600. package/Source/Shaders/PostProcessStages/DepthOfField.js +41 -0
  1601. package/Source/Shaders/PostProcessStages/DepthView.glsl +9 -0
  1602. package/Source/Shaders/PostProcessStages/DepthView.js +11 -0
  1603. package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +14 -0
  1604. package/Source/Shaders/PostProcessStages/DepthViewPacked.js +16 -0
  1605. package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +60 -0
  1606. package/Source/Shaders/PostProcessStages/EdgeDetection.js +62 -0
  1607. package/Source/Shaders/PostProcessStages/FXAA.glsl +21 -0
  1608. package/Source/Shaders/PostProcessStages/FXAA.js +23 -0
  1609. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +36 -0
  1610. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +38 -0
  1611. package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +47 -0
  1612. package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +49 -0
  1613. package/Source/Shaders/PostProcessStages/LensFlare.glsl +153 -0
  1614. package/Source/Shaders/PostProcessStages/LensFlare.js +155 -0
  1615. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +24 -0
  1616. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +26 -0
  1617. package/Source/Shaders/PostProcessStages/NightVision.glsl +16 -0
  1618. package/Source/Shaders/PostProcessStages/NightVision.js +18 -0
  1619. package/Source/Shaders/PostProcessStages/PassThrough.glsl +8 -0
  1620. package/Source/Shaders/PostProcessStages/PassThrough.js +10 -0
  1621. package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +8 -0
  1622. package/Source/Shaders/PostProcessStages/PassThroughDepth.js +10 -0
  1623. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +63 -0
  1624. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +65 -0
  1625. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +23 -0
  1626. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +25 -0
  1627. package/Source/Shaders/PostProcessStages/Silhouette.glsl +11 -0
  1628. package/Source/Shaders/PostProcessStages/Silhouette.js +13 -0
  1629. package/Source/Shaders/ReprojectWebMercatorFS.glsl +8 -0
  1630. package/Source/Shaders/ReprojectWebMercatorFS.js +10 -0
  1631. package/Source/Shaders/ReprojectWebMercatorVS.glsl +12 -0
  1632. package/Source/Shaders/ReprojectWebMercatorVS.js +14 -0
  1633. package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +165 -0
  1634. package/Source/Shaders/ShadowVolumeAppearanceFS.js +167 -0
  1635. package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +101 -0
  1636. package/Source/Shaders/ShadowVolumeAppearanceVS.js +103 -0
  1637. package/Source/Shaders/ShadowVolumeFS.glsl +17 -0
  1638. package/Source/Shaders/ShadowVolumeFS.js +19 -0
  1639. package/Source/Shaders/SkyAtmosphereCommon.glsl +91 -0
  1640. package/Source/Shaders/SkyAtmosphereCommon.js +93 -0
  1641. package/Source/Shaders/SkyAtmosphereFS.glsl +64 -0
  1642. package/Source/Shaders/SkyAtmosphereFS.js +66 -0
  1643. package/Source/Shaders/SkyAtmosphereVS.glsl +30 -0
  1644. package/Source/Shaders/SkyAtmosphereVS.js +32 -0
  1645. package/Source/Shaders/SkyBoxFS.glsl +9 -0
  1646. package/Source/Shaders/SkyBoxFS.js +11 -0
  1647. package/Source/Shaders/SkyBoxVS.glsl +10 -0
  1648. package/Source/Shaders/SkyBoxVS.js +12 -0
  1649. package/Source/Shaders/SunFS.glsl +9 -0
  1650. package/Source/Shaders/SunFS.js +11 -0
  1651. package/Source/Shaders/SunTextureFS.glsl +55 -0
  1652. package/Source/Shaders/SunTextureFS.js +57 -0
  1653. package/Source/Shaders/SunVS.glsl +28 -0
  1654. package/Source/Shaders/SunVS.js +30 -0
  1655. package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +52 -0
  1656. package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +54 -0
  1657. package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +85 -0
  1658. package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +87 -0
  1659. package/Source/Shaders/Vector3DTilePolylinesVS.glsl +22 -0
  1660. package/Source/Shaders/Vector3DTilePolylinesVS.js +24 -0
  1661. package/Source/Shaders/VectorTileVS.glsl +9 -0
  1662. package/Source/Shaders/VectorTileVS.js +11 -0
  1663. package/Source/Shaders/ViewportQuadFS.glsl +16 -0
  1664. package/Source/Shaders/ViewportQuadFS.js +18 -0
  1665. package/Source/Shaders/ViewportQuadVS.glsl +10 -0
  1666. package/Source/Shaders/ViewportQuadVS.js +12 -0
  1667. package/Source/ThirdParty/Workers/basis_transcoder.js +21 -0
  1668. package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +118 -0
  1669. package/Source/ThirdParty/Workers/package.json +1 -0
  1670. package/Source/ThirdParty/Workers/pako_deflate.min.js +2 -0
  1671. package/Source/ThirdParty/Workers/pako_inflate.min.js +2 -0
  1672. package/Source/ThirdParty/Workers/z-worker-pako.js +1 -0
  1673. package/Source/ThirdParty/basis_transcoder.wasm +0 -0
  1674. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  1675. package/Source/ThirdParty/google-earth-dbroot-parser.js +8337 -0
  1676. package/Source/Widget/CesiumWidget.css +124 -0
  1677. package/Source/Widget/CesiumWidget.js +807 -0
  1678. package/Source/Widget/lighter.css +14 -0
  1679. package/Source/Workers/cesiumWorkerBootstrapper.js +2290 -0
  1680. package/Source/Workers/package.json +1 -0
  1681. package/Source/Workers/transferTypedArrayTest.js +22 -0
  1682. package/Source/WorkersES6/combineGeometry.js +14 -0
  1683. package/Source/WorkersES6/createBoxGeometry.js +10 -0
  1684. package/Source/WorkersES6/createBoxOutlineGeometry.js +10 -0
  1685. package/Source/WorkersES6/createCircleGeometry.js +18 -0
  1686. package/Source/WorkersES6/createCircleOutlineGeometry.js +18 -0
  1687. package/Source/WorkersES6/createCoplanarPolygonGeometry.js +10 -0
  1688. package/Source/WorkersES6/createCoplanarPolygonOutlineGeometry.js +15 -0
  1689. package/Source/WorkersES6/createCorridorGeometry.js +12 -0
  1690. package/Source/WorkersES6/createCorridorOutlineGeometry.js +17 -0
  1691. package/Source/WorkersES6/createCylinderGeometry.js +10 -0
  1692. package/Source/WorkersES6/createCylinderOutlineGeometry.js +10 -0
  1693. package/Source/WorkersES6/createEllipseGeometry.js +14 -0
  1694. package/Source/WorkersES6/createEllipseOutlineGeometry.js +14 -0
  1695. package/Source/WorkersES6/createEllipsoidGeometry.js +10 -0
  1696. package/Source/WorkersES6/createEllipsoidOutlineGeometry.js +13 -0
  1697. package/Source/WorkersES6/createFrustumGeometry.js +10 -0
  1698. package/Source/WorkersES6/createFrustumOutlineGeometry.js +10 -0
  1699. package/Source/WorkersES6/createGeometry.js +52 -0
  1700. package/Source/WorkersES6/createGroundPolylineGeometry.js +16 -0
  1701. package/Source/WorkersES6/createPlaneGeometry.js +10 -0
  1702. package/Source/WorkersES6/createPlaneOutlineGeometry.js +10 -0
  1703. package/Source/WorkersES6/createPolygonGeometry.js +12 -0
  1704. package/Source/WorkersES6/createPolygonOutlineGeometry.js +12 -0
  1705. package/Source/WorkersES6/createPolylineGeometry.js +12 -0
  1706. package/Source/WorkersES6/createPolylineVolumeGeometry.js +17 -0
  1707. package/Source/WorkersES6/createPolylineVolumeOutlineGeometry.js +22 -0
  1708. package/Source/WorkersES6/createRectangleGeometry.js +14 -0
  1709. package/Source/WorkersES6/createRectangleOutlineGeometry.js +17 -0
  1710. package/Source/WorkersES6/createSimplePolylineGeometry.js +17 -0
  1711. package/Source/WorkersES6/createSphereGeometry.js +10 -0
  1712. package/Source/WorkersES6/createSphereOutlineGeometry.js +10 -0
  1713. package/Source/WorkersES6/createTaskProcessorWorker.js +129 -0
  1714. package/Source/WorkersES6/createVectorTileClampedPolylines.js +541 -0
  1715. package/Source/WorkersES6/createVectorTileGeometries.js +414 -0
  1716. package/Source/WorkersES6/createVectorTilePoints.js +81 -0
  1717. package/Source/WorkersES6/createVectorTilePolygons.js +412 -0
  1718. package/Source/WorkersES6/createVectorTilePolylines.js +210 -0
  1719. package/Source/WorkersES6/createVerticesFromGoogleEarthEnterpriseBuffer.js +653 -0
  1720. package/Source/WorkersES6/createVerticesFromHeightmap.js +53 -0
  1721. package/Source/WorkersES6/createVerticesFromQuantizedTerrainMesh.js +549 -0
  1722. package/Source/WorkersES6/createWallGeometry.js +12 -0
  1723. package/Source/WorkersES6/createWallOutlineGeometry.js +12 -0
  1724. package/Source/WorkersES6/decodeDraco.js +381 -0
  1725. package/Source/WorkersES6/decodeGoogleEarthEnterprisePacket.js +268 -0
  1726. package/Source/WorkersES6/decodeI3S.js +1044 -0
  1727. package/Source/WorkersES6/transcodeKTX2.js +316 -0
  1728. package/Source/WorkersES6/upsampleQuantizedTerrainMesh.js +680 -0
  1729. package/index.d.ts +41767 -0
  1730. package/index.js +1085 -0
  1731. package/package.json +73 -0
@@ -0,0 +1,1505 @@
1
+ import Cartesian3 from "./Cartesian3.js";
2
+ import Cartographic from "./Cartographic.js";
3
+ import Check from "./Check.js";
4
+ import defaultValue from "./defaultValue.js";
5
+ import defined from "./defined.js";
6
+ import Ellipsoid from "./Ellipsoid.js";
7
+ import GeographicProjection from "./GeographicProjection.js";
8
+ import Intersect from "./Intersect.js";
9
+ import Interval from "./Interval.js";
10
+ import CesiumMath from "./Math.js";
11
+ import Matrix3 from "./Matrix3.js";
12
+ import Matrix4 from "./Matrix4.js";
13
+ import Rectangle from "./Rectangle.js";
14
+
15
+ /**
16
+ * A bounding sphere with a center and a radius.
17
+ * @alias BoundingSphere
18
+ * @constructor
19
+ *
20
+ * @param {Cartesian3} [center=Cartesian3.ZERO] The center of the bounding sphere.
21
+ * @param {Number} [radius=0.0] The radius of the bounding sphere.
22
+ *
23
+ * @see AxisAlignedBoundingBox
24
+ * @see BoundingRectangle
25
+ * @see Packable
26
+ */
27
+ function BoundingSphere(center, radius) {
28
+ /**
29
+ * The center point of the sphere.
30
+ * @type {Cartesian3}
31
+ * @default {@link Cartesian3.ZERO}
32
+ */
33
+ this.center = Cartesian3.clone(defaultValue(center, Cartesian3.ZERO));
34
+
35
+ /**
36
+ * The radius of the sphere.
37
+ * @type {Number}
38
+ * @default 0.0
39
+ */
40
+ this.radius = defaultValue(radius, 0.0);
41
+ }
42
+
43
+ const fromPointsXMin = new Cartesian3();
44
+ const fromPointsYMin = new Cartesian3();
45
+ const fromPointsZMin = new Cartesian3();
46
+ const fromPointsXMax = new Cartesian3();
47
+ const fromPointsYMax = new Cartesian3();
48
+ const fromPointsZMax = new Cartesian3();
49
+ const fromPointsCurrentPos = new Cartesian3();
50
+ const fromPointsScratch = new Cartesian3();
51
+ const fromPointsRitterCenter = new Cartesian3();
52
+ const fromPointsMinBoxPt = new Cartesian3();
53
+ const fromPointsMaxBoxPt = new Cartesian3();
54
+ const fromPointsNaiveCenterScratch = new Cartesian3();
55
+ const volumeConstant = (4.0 / 3.0) * CesiumMath.PI;
56
+
57
+ /**
58
+ * Computes a tight-fitting bounding sphere enclosing a list of 3D Cartesian points.
59
+ * The bounding sphere is computed by running two algorithms, a naive algorithm and
60
+ * Ritter's algorithm. The smaller of the two spheres is used to ensure a tight fit.
61
+ *
62
+ * @param {Cartesian3[]} [positions] An array of points that the bounding sphere will enclose. Each point must have <code>x</code>, <code>y</code>, and <code>z</code> properties.
63
+ * @param {BoundingSphere} [result] The object onto which to store the result.
64
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if one was not provided.
65
+ *
66
+ * @see {@link http://help.agi.com/AGIComponents/html/BlogBoundingSphere.htm|Bounding Sphere computation article}
67
+ */
68
+ BoundingSphere.fromPoints = function (positions, result) {
69
+ if (!defined(result)) {
70
+ result = new BoundingSphere();
71
+ }
72
+
73
+ if (!defined(positions) || positions.length === 0) {
74
+ result.center = Cartesian3.clone(Cartesian3.ZERO, result.center);
75
+ result.radius = 0.0;
76
+ return result;
77
+ }
78
+
79
+ const currentPos = Cartesian3.clone(positions[0], fromPointsCurrentPos);
80
+
81
+ const xMin = Cartesian3.clone(currentPos, fromPointsXMin);
82
+ const yMin = Cartesian3.clone(currentPos, fromPointsYMin);
83
+ const zMin = Cartesian3.clone(currentPos, fromPointsZMin);
84
+
85
+ const xMax = Cartesian3.clone(currentPos, fromPointsXMax);
86
+ const yMax = Cartesian3.clone(currentPos, fromPointsYMax);
87
+ const zMax = Cartesian3.clone(currentPos, fromPointsZMax);
88
+
89
+ const numPositions = positions.length;
90
+ let i;
91
+ for (i = 1; i < numPositions; i++) {
92
+ Cartesian3.clone(positions[i], currentPos);
93
+
94
+ const x = currentPos.x;
95
+ const y = currentPos.y;
96
+ const z = currentPos.z;
97
+
98
+ // Store points containing the the smallest and largest components
99
+ if (x < xMin.x) {
100
+ Cartesian3.clone(currentPos, xMin);
101
+ }
102
+
103
+ if (x > xMax.x) {
104
+ Cartesian3.clone(currentPos, xMax);
105
+ }
106
+
107
+ if (y < yMin.y) {
108
+ Cartesian3.clone(currentPos, yMin);
109
+ }
110
+
111
+ if (y > yMax.y) {
112
+ Cartesian3.clone(currentPos, yMax);
113
+ }
114
+
115
+ if (z < zMin.z) {
116
+ Cartesian3.clone(currentPos, zMin);
117
+ }
118
+
119
+ if (z > zMax.z) {
120
+ Cartesian3.clone(currentPos, zMax);
121
+ }
122
+ }
123
+
124
+ // Compute x-, y-, and z-spans (Squared distances b/n each component's min. and max.).
125
+ const xSpan = Cartesian3.magnitudeSquared(
126
+ Cartesian3.subtract(xMax, xMin, fromPointsScratch)
127
+ );
128
+ const ySpan = Cartesian3.magnitudeSquared(
129
+ Cartesian3.subtract(yMax, yMin, fromPointsScratch)
130
+ );
131
+ const zSpan = Cartesian3.magnitudeSquared(
132
+ Cartesian3.subtract(zMax, zMin, fromPointsScratch)
133
+ );
134
+
135
+ // Set the diameter endpoints to the largest span.
136
+ let diameter1 = xMin;
137
+ let diameter2 = xMax;
138
+ let maxSpan = xSpan;
139
+ if (ySpan > maxSpan) {
140
+ maxSpan = ySpan;
141
+ diameter1 = yMin;
142
+ diameter2 = yMax;
143
+ }
144
+ if (zSpan > maxSpan) {
145
+ maxSpan = zSpan;
146
+ diameter1 = zMin;
147
+ diameter2 = zMax;
148
+ }
149
+
150
+ // Calculate the center of the initial sphere found by Ritter's algorithm
151
+ const ritterCenter = fromPointsRitterCenter;
152
+ ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
153
+ ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
154
+ ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
155
+
156
+ // Calculate the radius of the initial sphere found by Ritter's algorithm
157
+ let radiusSquared = Cartesian3.magnitudeSquared(
158
+ Cartesian3.subtract(diameter2, ritterCenter, fromPointsScratch)
159
+ );
160
+ let ritterRadius = Math.sqrt(radiusSquared);
161
+
162
+ // Find the center of the sphere found using the Naive method.
163
+ const minBoxPt = fromPointsMinBoxPt;
164
+ minBoxPt.x = xMin.x;
165
+ minBoxPt.y = yMin.y;
166
+ minBoxPt.z = zMin.z;
167
+
168
+ const maxBoxPt = fromPointsMaxBoxPt;
169
+ maxBoxPt.x = xMax.x;
170
+ maxBoxPt.y = yMax.y;
171
+ maxBoxPt.z = zMax.z;
172
+
173
+ const naiveCenter = Cartesian3.midpoint(
174
+ minBoxPt,
175
+ maxBoxPt,
176
+ fromPointsNaiveCenterScratch
177
+ );
178
+
179
+ // Begin 2nd pass to find naive radius and modify the ritter sphere.
180
+ let naiveRadius = 0;
181
+ for (i = 0; i < numPositions; i++) {
182
+ Cartesian3.clone(positions[i], currentPos);
183
+
184
+ // Find the furthest point from the naive center to calculate the naive radius.
185
+ const r = Cartesian3.magnitude(
186
+ Cartesian3.subtract(currentPos, naiveCenter, fromPointsScratch)
187
+ );
188
+ if (r > naiveRadius) {
189
+ naiveRadius = r;
190
+ }
191
+
192
+ // Make adjustments to the Ritter Sphere to include all points.
193
+ const oldCenterToPointSquared = Cartesian3.magnitudeSquared(
194
+ Cartesian3.subtract(currentPos, ritterCenter, fromPointsScratch)
195
+ );
196
+ if (oldCenterToPointSquared > radiusSquared) {
197
+ const oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
198
+ // Calculate new radius to include the point that lies outside
199
+ ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
200
+ radiusSquared = ritterRadius * ritterRadius;
201
+ // Calculate center of new Ritter sphere
202
+ const oldToNew = oldCenterToPoint - ritterRadius;
203
+ ritterCenter.x =
204
+ (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) /
205
+ oldCenterToPoint;
206
+ ritterCenter.y =
207
+ (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) /
208
+ oldCenterToPoint;
209
+ ritterCenter.z =
210
+ (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) /
211
+ oldCenterToPoint;
212
+ }
213
+ }
214
+
215
+ if (ritterRadius < naiveRadius) {
216
+ Cartesian3.clone(ritterCenter, result.center);
217
+ result.radius = ritterRadius;
218
+ } else {
219
+ Cartesian3.clone(naiveCenter, result.center);
220
+ result.radius = naiveRadius;
221
+ }
222
+
223
+ return result;
224
+ };
225
+
226
+ const defaultProjection = new GeographicProjection();
227
+ const fromRectangle2DLowerLeft = new Cartesian3();
228
+ const fromRectangle2DUpperRight = new Cartesian3();
229
+ const fromRectangle2DSouthwest = new Cartographic();
230
+ const fromRectangle2DNortheast = new Cartographic();
231
+
232
+ /**
233
+ * Computes a bounding sphere from a rectangle projected in 2D.
234
+ *
235
+ * @param {Rectangle} [rectangle] The rectangle around which to create a bounding sphere.
236
+ * @param {Object} [projection=GeographicProjection] The projection used to project the rectangle into 2D.
237
+ * @param {BoundingSphere} [result] The object onto which to store the result.
238
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
239
+ */
240
+ BoundingSphere.fromRectangle2D = function (rectangle, projection, result) {
241
+ return BoundingSphere.fromRectangleWithHeights2D(
242
+ rectangle,
243
+ projection,
244
+ 0.0,
245
+ 0.0,
246
+ result
247
+ );
248
+ };
249
+
250
+ /**
251
+ * Computes a bounding sphere from a rectangle projected in 2D. The bounding sphere accounts for the
252
+ * object's minimum and maximum heights over the rectangle.
253
+ *
254
+ * @param {Rectangle} [rectangle] The rectangle around which to create a bounding sphere.
255
+ * @param {Object} [projection=GeographicProjection] The projection used to project the rectangle into 2D.
256
+ * @param {Number} [minimumHeight=0.0] The minimum height over the rectangle.
257
+ * @param {Number} [maximumHeight=0.0] The maximum height over the rectangle.
258
+ * @param {BoundingSphere} [result] The object onto which to store the result.
259
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
260
+ */
261
+ BoundingSphere.fromRectangleWithHeights2D = function (
262
+ rectangle,
263
+ projection,
264
+ minimumHeight,
265
+ maximumHeight,
266
+ result
267
+ ) {
268
+ if (!defined(result)) {
269
+ result = new BoundingSphere();
270
+ }
271
+
272
+ if (!defined(rectangle)) {
273
+ result.center = Cartesian3.clone(Cartesian3.ZERO, result.center);
274
+ result.radius = 0.0;
275
+ return result;
276
+ }
277
+
278
+ projection = defaultValue(projection, defaultProjection);
279
+
280
+ Rectangle.southwest(rectangle, fromRectangle2DSouthwest);
281
+ fromRectangle2DSouthwest.height = minimumHeight;
282
+ Rectangle.northeast(rectangle, fromRectangle2DNortheast);
283
+ fromRectangle2DNortheast.height = maximumHeight;
284
+
285
+ const lowerLeft = projection.project(
286
+ fromRectangle2DSouthwest,
287
+ fromRectangle2DLowerLeft
288
+ );
289
+ const upperRight = projection.project(
290
+ fromRectangle2DNortheast,
291
+ fromRectangle2DUpperRight
292
+ );
293
+
294
+ const width = upperRight.x - lowerLeft.x;
295
+ const height = upperRight.y - lowerLeft.y;
296
+ const elevation = upperRight.z - lowerLeft.z;
297
+
298
+ result.radius =
299
+ Math.sqrt(width * width + height * height + elevation * elevation) * 0.5;
300
+ const center = result.center;
301
+ center.x = lowerLeft.x + width * 0.5;
302
+ center.y = lowerLeft.y + height * 0.5;
303
+ center.z = lowerLeft.z + elevation * 0.5;
304
+ return result;
305
+ };
306
+
307
+ const fromRectangle3DScratch = [];
308
+
309
+ /**
310
+ * Computes a bounding sphere from a rectangle in 3D. The bounding sphere is created using a subsample of points
311
+ * on the ellipsoid and contained in the rectangle. It may not be accurate for all rectangles on all types of ellipsoids.
312
+ *
313
+ * @param {Rectangle} [rectangle] The valid rectangle used to create a bounding sphere.
314
+ * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid used to determine positions of the rectangle.
315
+ * @param {Number} [surfaceHeight=0.0] The height above the surface of the ellipsoid.
316
+ * @param {BoundingSphere} [result] The object onto which to store the result.
317
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
318
+ */
319
+ BoundingSphere.fromRectangle3D = function (
320
+ rectangle,
321
+ ellipsoid,
322
+ surfaceHeight,
323
+ result
324
+ ) {
325
+ ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84);
326
+ surfaceHeight = defaultValue(surfaceHeight, 0.0);
327
+
328
+ if (!defined(result)) {
329
+ result = new BoundingSphere();
330
+ }
331
+
332
+ if (!defined(rectangle)) {
333
+ result.center = Cartesian3.clone(Cartesian3.ZERO, result.center);
334
+ result.radius = 0.0;
335
+ return result;
336
+ }
337
+
338
+ const positions = Rectangle.subsample(
339
+ rectangle,
340
+ ellipsoid,
341
+ surfaceHeight,
342
+ fromRectangle3DScratch
343
+ );
344
+ return BoundingSphere.fromPoints(positions, result);
345
+ };
346
+
347
+ /**
348
+ * Computes a tight-fitting bounding sphere enclosing a list of 3D points, where the points are
349
+ * stored in a flat array in X, Y, Z, order. The bounding sphere is computed by running two
350
+ * algorithms, a naive algorithm and Ritter's algorithm. The smaller of the two spheres is used to
351
+ * ensure a tight fit.
352
+ *
353
+ * @param {Number[]} [positions] An array of points that the bounding sphere will enclose. Each point
354
+ * is formed from three elements in the array in the order X, Y, Z.
355
+ * @param {Cartesian3} [center=Cartesian3.ZERO] The position to which the positions are relative, which need not be the
356
+ * origin of the coordinate system. This is useful when the positions are to be used for
357
+ * relative-to-center (RTC) rendering.
358
+ * @param {Number} [stride=3] The number of array elements per vertex. It must be at least 3, but it may
359
+ * be higher. Regardless of the value of this parameter, the X coordinate of the first position
360
+ * is at array index 0, the Y coordinate is at array index 1, and the Z coordinate is at array index
361
+ * 2. When stride is 3, the X coordinate of the next position then begins at array index 3. If
362
+ * the stride is 5, however, two array elements are skipped and the next position begins at array
363
+ * index 5.
364
+ * @param {BoundingSphere} [result] The object onto which to store the result.
365
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if one was not provided.
366
+ *
367
+ * @example
368
+ * // Compute the bounding sphere from 3 positions, each specified relative to a center.
369
+ * // In addition to the X, Y, and Z coordinates, the points array contains two additional
370
+ * // elements per point which are ignored for the purpose of computing the bounding sphere.
371
+ * const center = new Cesium.Cartesian3(1.0, 2.0, 3.0);
372
+ * const points = [1.0, 2.0, 3.0, 0.1, 0.2,
373
+ * 4.0, 5.0, 6.0, 0.1, 0.2,
374
+ * 7.0, 8.0, 9.0, 0.1, 0.2];
375
+ * const sphere = Cesium.BoundingSphere.fromVertices(points, center, 5);
376
+ *
377
+ * @see {@link http://blogs.agi.com/insight3d/index.php/2008/02/04/a-bounding/|Bounding Sphere computation article}
378
+ */
379
+ BoundingSphere.fromVertices = function (positions, center, stride, result) {
380
+ if (!defined(result)) {
381
+ result = new BoundingSphere();
382
+ }
383
+
384
+ if (!defined(positions) || positions.length === 0) {
385
+ result.center = Cartesian3.clone(Cartesian3.ZERO, result.center);
386
+ result.radius = 0.0;
387
+ return result;
388
+ }
389
+
390
+ center = defaultValue(center, Cartesian3.ZERO);
391
+
392
+ stride = defaultValue(stride, 3);
393
+
394
+ //>>includeStart('debug', pragmas.debug);
395
+ Check.typeOf.number.greaterThanOrEquals("stride", stride, 3);
396
+ //>>includeEnd('debug');
397
+
398
+ const currentPos = fromPointsCurrentPos;
399
+ currentPos.x = positions[0] + center.x;
400
+ currentPos.y = positions[1] + center.y;
401
+ currentPos.z = positions[2] + center.z;
402
+
403
+ const xMin = Cartesian3.clone(currentPos, fromPointsXMin);
404
+ const yMin = Cartesian3.clone(currentPos, fromPointsYMin);
405
+ const zMin = Cartesian3.clone(currentPos, fromPointsZMin);
406
+
407
+ const xMax = Cartesian3.clone(currentPos, fromPointsXMax);
408
+ const yMax = Cartesian3.clone(currentPos, fromPointsYMax);
409
+ const zMax = Cartesian3.clone(currentPos, fromPointsZMax);
410
+
411
+ const numElements = positions.length;
412
+ let i;
413
+ for (i = 0; i < numElements; i += stride) {
414
+ const x = positions[i] + center.x;
415
+ const y = positions[i + 1] + center.y;
416
+ const z = positions[i + 2] + center.z;
417
+
418
+ currentPos.x = x;
419
+ currentPos.y = y;
420
+ currentPos.z = z;
421
+
422
+ // Store points containing the the smallest and largest components
423
+ if (x < xMin.x) {
424
+ Cartesian3.clone(currentPos, xMin);
425
+ }
426
+
427
+ if (x > xMax.x) {
428
+ Cartesian3.clone(currentPos, xMax);
429
+ }
430
+
431
+ if (y < yMin.y) {
432
+ Cartesian3.clone(currentPos, yMin);
433
+ }
434
+
435
+ if (y > yMax.y) {
436
+ Cartesian3.clone(currentPos, yMax);
437
+ }
438
+
439
+ if (z < zMin.z) {
440
+ Cartesian3.clone(currentPos, zMin);
441
+ }
442
+
443
+ if (z > zMax.z) {
444
+ Cartesian3.clone(currentPos, zMax);
445
+ }
446
+ }
447
+
448
+ // Compute x-, y-, and z-spans (Squared distances b/n each component's min. and max.).
449
+ const xSpan = Cartesian3.magnitudeSquared(
450
+ Cartesian3.subtract(xMax, xMin, fromPointsScratch)
451
+ );
452
+ const ySpan = Cartesian3.magnitudeSquared(
453
+ Cartesian3.subtract(yMax, yMin, fromPointsScratch)
454
+ );
455
+ const zSpan = Cartesian3.magnitudeSquared(
456
+ Cartesian3.subtract(zMax, zMin, fromPointsScratch)
457
+ );
458
+
459
+ // Set the diameter endpoints to the largest span.
460
+ let diameter1 = xMin;
461
+ let diameter2 = xMax;
462
+ let maxSpan = xSpan;
463
+ if (ySpan > maxSpan) {
464
+ maxSpan = ySpan;
465
+ diameter1 = yMin;
466
+ diameter2 = yMax;
467
+ }
468
+ if (zSpan > maxSpan) {
469
+ maxSpan = zSpan;
470
+ diameter1 = zMin;
471
+ diameter2 = zMax;
472
+ }
473
+
474
+ // Calculate the center of the initial sphere found by Ritter's algorithm
475
+ const ritterCenter = fromPointsRitterCenter;
476
+ ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
477
+ ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
478
+ ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
479
+
480
+ // Calculate the radius of the initial sphere found by Ritter's algorithm
481
+ let radiusSquared = Cartesian3.magnitudeSquared(
482
+ Cartesian3.subtract(diameter2, ritterCenter, fromPointsScratch)
483
+ );
484
+ let ritterRadius = Math.sqrt(radiusSquared);
485
+
486
+ // Find the center of the sphere found using the Naive method.
487
+ const minBoxPt = fromPointsMinBoxPt;
488
+ minBoxPt.x = xMin.x;
489
+ minBoxPt.y = yMin.y;
490
+ minBoxPt.z = zMin.z;
491
+
492
+ const maxBoxPt = fromPointsMaxBoxPt;
493
+ maxBoxPt.x = xMax.x;
494
+ maxBoxPt.y = yMax.y;
495
+ maxBoxPt.z = zMax.z;
496
+
497
+ const naiveCenter = Cartesian3.midpoint(
498
+ minBoxPt,
499
+ maxBoxPt,
500
+ fromPointsNaiveCenterScratch
501
+ );
502
+
503
+ // Begin 2nd pass to find naive radius and modify the ritter sphere.
504
+ let naiveRadius = 0;
505
+ for (i = 0; i < numElements; i += stride) {
506
+ currentPos.x = positions[i] + center.x;
507
+ currentPos.y = positions[i + 1] + center.y;
508
+ currentPos.z = positions[i + 2] + center.z;
509
+
510
+ // Find the furthest point from the naive center to calculate the naive radius.
511
+ const r = Cartesian3.magnitude(
512
+ Cartesian3.subtract(currentPos, naiveCenter, fromPointsScratch)
513
+ );
514
+ if (r > naiveRadius) {
515
+ naiveRadius = r;
516
+ }
517
+
518
+ // Make adjustments to the Ritter Sphere to include all points.
519
+ const oldCenterToPointSquared = Cartesian3.magnitudeSquared(
520
+ Cartesian3.subtract(currentPos, ritterCenter, fromPointsScratch)
521
+ );
522
+ if (oldCenterToPointSquared > radiusSquared) {
523
+ const oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
524
+ // Calculate new radius to include the point that lies outside
525
+ ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
526
+ radiusSquared = ritterRadius * ritterRadius;
527
+ // Calculate center of new Ritter sphere
528
+ const oldToNew = oldCenterToPoint - ritterRadius;
529
+ ritterCenter.x =
530
+ (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) /
531
+ oldCenterToPoint;
532
+ ritterCenter.y =
533
+ (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) /
534
+ oldCenterToPoint;
535
+ ritterCenter.z =
536
+ (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) /
537
+ oldCenterToPoint;
538
+ }
539
+ }
540
+
541
+ if (ritterRadius < naiveRadius) {
542
+ Cartesian3.clone(ritterCenter, result.center);
543
+ result.radius = ritterRadius;
544
+ } else {
545
+ Cartesian3.clone(naiveCenter, result.center);
546
+ result.radius = naiveRadius;
547
+ }
548
+
549
+ return result;
550
+ };
551
+
552
+ /**
553
+ * Computes a tight-fitting bounding sphere enclosing a list of EncodedCartesian3s, where the points are
554
+ * stored in parallel flat arrays in X, Y, Z, order. The bounding sphere is computed by running two
555
+ * algorithms, a naive algorithm and Ritter's algorithm. The smaller of the two spheres is used to
556
+ * ensure a tight fit.
557
+ *
558
+ * @param {Number[]} [positionsHigh] An array of high bits of the encoded cartesians that the bounding sphere will enclose. Each point
559
+ * is formed from three elements in the array in the order X, Y, Z.
560
+ * @param {Number[]} [positionsLow] An array of low bits of the encoded cartesians that the bounding sphere will enclose. Each point
561
+ * is formed from three elements in the array in the order X, Y, Z.
562
+ * @param {BoundingSphere} [result] The object onto which to store the result.
563
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if one was not provided.
564
+ *
565
+ * @see {@link http://blogs.agi.com/insight3d/index.php/2008/02/04/a-bounding/|Bounding Sphere computation article}
566
+ */
567
+ BoundingSphere.fromEncodedCartesianVertices = function (
568
+ positionsHigh,
569
+ positionsLow,
570
+ result
571
+ ) {
572
+ if (!defined(result)) {
573
+ result = new BoundingSphere();
574
+ }
575
+
576
+ if (
577
+ !defined(positionsHigh) ||
578
+ !defined(positionsLow) ||
579
+ positionsHigh.length !== positionsLow.length ||
580
+ positionsHigh.length === 0
581
+ ) {
582
+ result.center = Cartesian3.clone(Cartesian3.ZERO, result.center);
583
+ result.radius = 0.0;
584
+ return result;
585
+ }
586
+
587
+ const currentPos = fromPointsCurrentPos;
588
+ currentPos.x = positionsHigh[0] + positionsLow[0];
589
+ currentPos.y = positionsHigh[1] + positionsLow[1];
590
+ currentPos.z = positionsHigh[2] + positionsLow[2];
591
+
592
+ const xMin = Cartesian3.clone(currentPos, fromPointsXMin);
593
+ const yMin = Cartesian3.clone(currentPos, fromPointsYMin);
594
+ const zMin = Cartesian3.clone(currentPos, fromPointsZMin);
595
+
596
+ const xMax = Cartesian3.clone(currentPos, fromPointsXMax);
597
+ const yMax = Cartesian3.clone(currentPos, fromPointsYMax);
598
+ const zMax = Cartesian3.clone(currentPos, fromPointsZMax);
599
+
600
+ const numElements = positionsHigh.length;
601
+ let i;
602
+ for (i = 0; i < numElements; i += 3) {
603
+ const x = positionsHigh[i] + positionsLow[i];
604
+ const y = positionsHigh[i + 1] + positionsLow[i + 1];
605
+ const z = positionsHigh[i + 2] + positionsLow[i + 2];
606
+
607
+ currentPos.x = x;
608
+ currentPos.y = y;
609
+ currentPos.z = z;
610
+
611
+ // Store points containing the the smallest and largest components
612
+ if (x < xMin.x) {
613
+ Cartesian3.clone(currentPos, xMin);
614
+ }
615
+
616
+ if (x > xMax.x) {
617
+ Cartesian3.clone(currentPos, xMax);
618
+ }
619
+
620
+ if (y < yMin.y) {
621
+ Cartesian3.clone(currentPos, yMin);
622
+ }
623
+
624
+ if (y > yMax.y) {
625
+ Cartesian3.clone(currentPos, yMax);
626
+ }
627
+
628
+ if (z < zMin.z) {
629
+ Cartesian3.clone(currentPos, zMin);
630
+ }
631
+
632
+ if (z > zMax.z) {
633
+ Cartesian3.clone(currentPos, zMax);
634
+ }
635
+ }
636
+
637
+ // Compute x-, y-, and z-spans (Squared distances b/n each component's min. and max.).
638
+ const xSpan = Cartesian3.magnitudeSquared(
639
+ Cartesian3.subtract(xMax, xMin, fromPointsScratch)
640
+ );
641
+ const ySpan = Cartesian3.magnitudeSquared(
642
+ Cartesian3.subtract(yMax, yMin, fromPointsScratch)
643
+ );
644
+ const zSpan = Cartesian3.magnitudeSquared(
645
+ Cartesian3.subtract(zMax, zMin, fromPointsScratch)
646
+ );
647
+
648
+ // Set the diameter endpoints to the largest span.
649
+ let diameter1 = xMin;
650
+ let diameter2 = xMax;
651
+ let maxSpan = xSpan;
652
+ if (ySpan > maxSpan) {
653
+ maxSpan = ySpan;
654
+ diameter1 = yMin;
655
+ diameter2 = yMax;
656
+ }
657
+ if (zSpan > maxSpan) {
658
+ maxSpan = zSpan;
659
+ diameter1 = zMin;
660
+ diameter2 = zMax;
661
+ }
662
+
663
+ // Calculate the center of the initial sphere found by Ritter's algorithm
664
+ const ritterCenter = fromPointsRitterCenter;
665
+ ritterCenter.x = (diameter1.x + diameter2.x) * 0.5;
666
+ ritterCenter.y = (diameter1.y + diameter2.y) * 0.5;
667
+ ritterCenter.z = (diameter1.z + diameter2.z) * 0.5;
668
+
669
+ // Calculate the radius of the initial sphere found by Ritter's algorithm
670
+ let radiusSquared = Cartesian3.magnitudeSquared(
671
+ Cartesian3.subtract(diameter2, ritterCenter, fromPointsScratch)
672
+ );
673
+ let ritterRadius = Math.sqrt(radiusSquared);
674
+
675
+ // Find the center of the sphere found using the Naive method.
676
+ const minBoxPt = fromPointsMinBoxPt;
677
+ minBoxPt.x = xMin.x;
678
+ minBoxPt.y = yMin.y;
679
+ minBoxPt.z = zMin.z;
680
+
681
+ const maxBoxPt = fromPointsMaxBoxPt;
682
+ maxBoxPt.x = xMax.x;
683
+ maxBoxPt.y = yMax.y;
684
+ maxBoxPt.z = zMax.z;
685
+
686
+ const naiveCenter = Cartesian3.midpoint(
687
+ minBoxPt,
688
+ maxBoxPt,
689
+ fromPointsNaiveCenterScratch
690
+ );
691
+
692
+ // Begin 2nd pass to find naive radius and modify the ritter sphere.
693
+ let naiveRadius = 0;
694
+ for (i = 0; i < numElements; i += 3) {
695
+ currentPos.x = positionsHigh[i] + positionsLow[i];
696
+ currentPos.y = positionsHigh[i + 1] + positionsLow[i + 1];
697
+ currentPos.z = positionsHigh[i + 2] + positionsLow[i + 2];
698
+
699
+ // Find the furthest point from the naive center to calculate the naive radius.
700
+ const r = Cartesian3.magnitude(
701
+ Cartesian3.subtract(currentPos, naiveCenter, fromPointsScratch)
702
+ );
703
+ if (r > naiveRadius) {
704
+ naiveRadius = r;
705
+ }
706
+
707
+ // Make adjustments to the Ritter Sphere to include all points.
708
+ const oldCenterToPointSquared = Cartesian3.magnitudeSquared(
709
+ Cartesian3.subtract(currentPos, ritterCenter, fromPointsScratch)
710
+ );
711
+ if (oldCenterToPointSquared > radiusSquared) {
712
+ const oldCenterToPoint = Math.sqrt(oldCenterToPointSquared);
713
+ // Calculate new radius to include the point that lies outside
714
+ ritterRadius = (ritterRadius + oldCenterToPoint) * 0.5;
715
+ radiusSquared = ritterRadius * ritterRadius;
716
+ // Calculate center of new Ritter sphere
717
+ const oldToNew = oldCenterToPoint - ritterRadius;
718
+ ritterCenter.x =
719
+ (ritterRadius * ritterCenter.x + oldToNew * currentPos.x) /
720
+ oldCenterToPoint;
721
+ ritterCenter.y =
722
+ (ritterRadius * ritterCenter.y + oldToNew * currentPos.y) /
723
+ oldCenterToPoint;
724
+ ritterCenter.z =
725
+ (ritterRadius * ritterCenter.z + oldToNew * currentPos.z) /
726
+ oldCenterToPoint;
727
+ }
728
+ }
729
+
730
+ if (ritterRadius < naiveRadius) {
731
+ Cartesian3.clone(ritterCenter, result.center);
732
+ result.radius = ritterRadius;
733
+ } else {
734
+ Cartesian3.clone(naiveCenter, result.center);
735
+ result.radius = naiveRadius;
736
+ }
737
+
738
+ return result;
739
+ };
740
+
741
+ /**
742
+ * Computes a bounding sphere from the corner points of an axis-aligned bounding box. The sphere
743
+ * tightly and fully encompasses the box.
744
+ *
745
+ * @param {Cartesian3} [corner] The minimum height over the rectangle.
746
+ * @param {Cartesian3} [oppositeCorner] The maximum height over the rectangle.
747
+ * @param {BoundingSphere} [result] The object onto which to store the result.
748
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
749
+ *
750
+ * @example
751
+ * // Create a bounding sphere around the unit cube
752
+ * const sphere = Cesium.BoundingSphere.fromCornerPoints(new Cesium.Cartesian3(-0.5, -0.5, -0.5), new Cesium.Cartesian3(0.5, 0.5, 0.5));
753
+ */
754
+ BoundingSphere.fromCornerPoints = function (corner, oppositeCorner, result) {
755
+ //>>includeStart('debug', pragmas.debug);
756
+ Check.typeOf.object("corner", corner);
757
+ Check.typeOf.object("oppositeCorner", oppositeCorner);
758
+ //>>includeEnd('debug');
759
+
760
+ if (!defined(result)) {
761
+ result = new BoundingSphere();
762
+ }
763
+
764
+ const center = Cartesian3.midpoint(corner, oppositeCorner, result.center);
765
+ result.radius = Cartesian3.distance(center, oppositeCorner);
766
+ return result;
767
+ };
768
+
769
+ /**
770
+ * Creates a bounding sphere encompassing an ellipsoid.
771
+ *
772
+ * @param {Ellipsoid} ellipsoid The ellipsoid around which to create a bounding sphere.
773
+ * @param {BoundingSphere} [result] The object onto which to store the result.
774
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
775
+ *
776
+ * @example
777
+ * const boundingSphere = Cesium.BoundingSphere.fromEllipsoid(ellipsoid);
778
+ */
779
+ BoundingSphere.fromEllipsoid = function (ellipsoid, result) {
780
+ //>>includeStart('debug', pragmas.debug);
781
+ Check.typeOf.object("ellipsoid", ellipsoid);
782
+ //>>includeEnd('debug');
783
+
784
+ if (!defined(result)) {
785
+ result = new BoundingSphere();
786
+ }
787
+
788
+ Cartesian3.clone(Cartesian3.ZERO, result.center);
789
+ result.radius = ellipsoid.maximumRadius;
790
+ return result;
791
+ };
792
+
793
+ const fromBoundingSpheresScratch = new Cartesian3();
794
+
795
+ /**
796
+ * Computes a tight-fitting bounding sphere enclosing the provided array of bounding spheres.
797
+ *
798
+ * @param {BoundingSphere[]} [boundingSpheres] The array of bounding spheres.
799
+ * @param {BoundingSphere} [result] The object onto which to store the result.
800
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
801
+ */
802
+ BoundingSphere.fromBoundingSpheres = function (boundingSpheres, result) {
803
+ if (!defined(result)) {
804
+ result = new BoundingSphere();
805
+ }
806
+
807
+ if (!defined(boundingSpheres) || boundingSpheres.length === 0) {
808
+ result.center = Cartesian3.clone(Cartesian3.ZERO, result.center);
809
+ result.radius = 0.0;
810
+ return result;
811
+ }
812
+
813
+ const length = boundingSpheres.length;
814
+ if (length === 1) {
815
+ return BoundingSphere.clone(boundingSpheres[0], result);
816
+ }
817
+
818
+ if (length === 2) {
819
+ return BoundingSphere.union(boundingSpheres[0], boundingSpheres[1], result);
820
+ }
821
+
822
+ const positions = [];
823
+ let i;
824
+ for (i = 0; i < length; i++) {
825
+ positions.push(boundingSpheres[i].center);
826
+ }
827
+
828
+ result = BoundingSphere.fromPoints(positions, result);
829
+
830
+ const center = result.center;
831
+ let radius = result.radius;
832
+ for (i = 0; i < length; i++) {
833
+ const tmp = boundingSpheres[i];
834
+ radius = Math.max(
835
+ radius,
836
+ Cartesian3.distance(center, tmp.center, fromBoundingSpheresScratch) +
837
+ tmp.radius
838
+ );
839
+ }
840
+ result.radius = radius;
841
+
842
+ return result;
843
+ };
844
+
845
+ const fromOrientedBoundingBoxScratchU = new Cartesian3();
846
+ const fromOrientedBoundingBoxScratchV = new Cartesian3();
847
+ const fromOrientedBoundingBoxScratchW = new Cartesian3();
848
+
849
+ /**
850
+ * Computes a tight-fitting bounding sphere enclosing the provided oriented bounding box.
851
+ *
852
+ * @param {OrientedBoundingBox} orientedBoundingBox The oriented bounding box.
853
+ * @param {BoundingSphere} [result] The object onto which to store the result.
854
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
855
+ */
856
+ BoundingSphere.fromOrientedBoundingBox = function (
857
+ orientedBoundingBox,
858
+ result
859
+ ) {
860
+ //>>includeStart('debug', pragmas.debug);
861
+ Check.defined("orientedBoundingBox", orientedBoundingBox);
862
+ //>>includeEnd('debug');
863
+
864
+ if (!defined(result)) {
865
+ result = new BoundingSphere();
866
+ }
867
+
868
+ const halfAxes = orientedBoundingBox.halfAxes;
869
+ const u = Matrix3.getColumn(halfAxes, 0, fromOrientedBoundingBoxScratchU);
870
+ const v = Matrix3.getColumn(halfAxes, 1, fromOrientedBoundingBoxScratchV);
871
+ const w = Matrix3.getColumn(halfAxes, 2, fromOrientedBoundingBoxScratchW);
872
+
873
+ Cartesian3.add(u, v, u);
874
+ Cartesian3.add(u, w, u);
875
+
876
+ result.center = Cartesian3.clone(orientedBoundingBox.center, result.center);
877
+ result.radius = Cartesian3.magnitude(u);
878
+
879
+ return result;
880
+ };
881
+
882
+ const scratchFromTransformationCenter = new Cartesian3();
883
+ const scratchFromTransformationScale = new Cartesian3();
884
+
885
+ /**
886
+ * Computes a tight-fitting bounding sphere enclosing the provided affine transformation.
887
+ *
888
+ * @param {Matrix4} transformation The affine transformation.
889
+ * @param {BoundingSphere} [result] The object onto which to store the result.
890
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
891
+ */
892
+ BoundingSphere.fromTransformation = function (transformation, result) {
893
+ //>>includeStart('debug', pragmas.debug);
894
+ Check.typeOf.object("transformation", transformation);
895
+ //>>includeEnd('debug');
896
+
897
+ if (!defined(result)) {
898
+ result = new BoundingSphere();
899
+ }
900
+
901
+ const center = Matrix4.getTranslation(
902
+ transformation,
903
+ scratchFromTransformationCenter
904
+ );
905
+ const scale = Matrix4.getScale(
906
+ transformation,
907
+ scratchFromTransformationScale
908
+ );
909
+ const radius = 0.5 * Cartesian3.magnitude(scale);
910
+ result.center = Cartesian3.clone(center, result.center);
911
+ result.radius = radius;
912
+
913
+ return result;
914
+ };
915
+
916
+ /**
917
+ * Duplicates a BoundingSphere instance.
918
+ *
919
+ * @param {BoundingSphere} sphere The bounding sphere to duplicate.
920
+ * @param {BoundingSphere} [result] The object onto which to store the result.
921
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided. (Returns undefined if sphere is undefined)
922
+ */
923
+ BoundingSphere.clone = function (sphere, result) {
924
+ if (!defined(sphere)) {
925
+ return undefined;
926
+ }
927
+
928
+ if (!defined(result)) {
929
+ return new BoundingSphere(sphere.center, sphere.radius);
930
+ }
931
+
932
+ result.center = Cartesian3.clone(sphere.center, result.center);
933
+ result.radius = sphere.radius;
934
+ return result;
935
+ };
936
+
937
+ /**
938
+ * The number of elements used to pack the object into an array.
939
+ * @type {Number}
940
+ */
941
+ BoundingSphere.packedLength = 4;
942
+
943
+ /**
944
+ * Stores the provided instance into the provided array.
945
+ *
946
+ * @param {BoundingSphere} value The value to pack.
947
+ * @param {Number[]} array The array to pack into.
948
+ * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
949
+ *
950
+ * @returns {Number[]} The array that was packed into
951
+ */
952
+ BoundingSphere.pack = function (value, array, startingIndex) {
953
+ //>>includeStart('debug', pragmas.debug);
954
+ Check.typeOf.object("value", value);
955
+ Check.defined("array", array);
956
+ //>>includeEnd('debug');
957
+
958
+ startingIndex = defaultValue(startingIndex, 0);
959
+
960
+ const center = value.center;
961
+ array[startingIndex++] = center.x;
962
+ array[startingIndex++] = center.y;
963
+ array[startingIndex++] = center.z;
964
+ array[startingIndex] = value.radius;
965
+
966
+ return array;
967
+ };
968
+
969
+ /**
970
+ * Retrieves an instance from a packed array.
971
+ *
972
+ * @param {Number[]} array The packed array.
973
+ * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
974
+ * @param {BoundingSphere} [result] The object into which to store the result.
975
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if one was not provided.
976
+ */
977
+ BoundingSphere.unpack = function (array, startingIndex, result) {
978
+ //>>includeStart('debug', pragmas.debug);
979
+ Check.defined("array", array);
980
+ //>>includeEnd('debug');
981
+
982
+ startingIndex = defaultValue(startingIndex, 0);
983
+
984
+ if (!defined(result)) {
985
+ result = new BoundingSphere();
986
+ }
987
+
988
+ const center = result.center;
989
+ center.x = array[startingIndex++];
990
+ center.y = array[startingIndex++];
991
+ center.z = array[startingIndex++];
992
+ result.radius = array[startingIndex];
993
+ return result;
994
+ };
995
+
996
+ const unionScratch = new Cartesian3();
997
+ const unionScratchCenter = new Cartesian3();
998
+ /**
999
+ * Computes a bounding sphere that contains both the left and right bounding spheres.
1000
+ *
1001
+ * @param {BoundingSphere} left A sphere to enclose in a bounding sphere.
1002
+ * @param {BoundingSphere} right A sphere to enclose in a bounding sphere.
1003
+ * @param {BoundingSphere} [result] The object onto which to store the result.
1004
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
1005
+ */
1006
+ BoundingSphere.union = function (left, right, result) {
1007
+ //>>includeStart('debug', pragmas.debug);
1008
+ Check.typeOf.object("left", left);
1009
+ Check.typeOf.object("right", right);
1010
+ //>>includeEnd('debug');
1011
+
1012
+ if (!defined(result)) {
1013
+ result = new BoundingSphere();
1014
+ }
1015
+
1016
+ const leftCenter = left.center;
1017
+ const leftRadius = left.radius;
1018
+ const rightCenter = right.center;
1019
+ const rightRadius = right.radius;
1020
+
1021
+ const toRightCenter = Cartesian3.subtract(
1022
+ rightCenter,
1023
+ leftCenter,
1024
+ unionScratch
1025
+ );
1026
+ const centerSeparation = Cartesian3.magnitude(toRightCenter);
1027
+
1028
+ if (leftRadius >= centerSeparation + rightRadius) {
1029
+ // Left sphere wins.
1030
+ left.clone(result);
1031
+ return result;
1032
+ }
1033
+
1034
+ if (rightRadius >= centerSeparation + leftRadius) {
1035
+ // Right sphere wins.
1036
+ right.clone(result);
1037
+ return result;
1038
+ }
1039
+
1040
+ // There are two tangent points, one on far side of each sphere.
1041
+ const halfDistanceBetweenTangentPoints =
1042
+ (leftRadius + centerSeparation + rightRadius) * 0.5;
1043
+
1044
+ // Compute the center point halfway between the two tangent points.
1045
+ const center = Cartesian3.multiplyByScalar(
1046
+ toRightCenter,
1047
+ (-leftRadius + halfDistanceBetweenTangentPoints) / centerSeparation,
1048
+ unionScratchCenter
1049
+ );
1050
+ Cartesian3.add(center, leftCenter, center);
1051
+ Cartesian3.clone(center, result.center);
1052
+ result.radius = halfDistanceBetweenTangentPoints;
1053
+
1054
+ return result;
1055
+ };
1056
+
1057
+ const expandScratch = new Cartesian3();
1058
+ /**
1059
+ * Computes a bounding sphere by enlarging the provided sphere to contain the provided point.
1060
+ *
1061
+ * @param {BoundingSphere} sphere A sphere to expand.
1062
+ * @param {Cartesian3} point A point to enclose in a bounding sphere.
1063
+ * @param {BoundingSphere} [result] The object onto which to store the result.
1064
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
1065
+ */
1066
+ BoundingSphere.expand = function (sphere, point, result) {
1067
+ //>>includeStart('debug', pragmas.debug);
1068
+ Check.typeOf.object("sphere", sphere);
1069
+ Check.typeOf.object("point", point);
1070
+ //>>includeEnd('debug');
1071
+
1072
+ result = BoundingSphere.clone(sphere, result);
1073
+
1074
+ const radius = Cartesian3.magnitude(
1075
+ Cartesian3.subtract(point, result.center, expandScratch)
1076
+ );
1077
+ if (radius > result.radius) {
1078
+ result.radius = radius;
1079
+ }
1080
+
1081
+ return result;
1082
+ };
1083
+
1084
+ /**
1085
+ * Determines which side of a plane a sphere is located.
1086
+ *
1087
+ * @param {BoundingSphere} sphere The bounding sphere to test.
1088
+ * @param {Plane} plane The plane to test against.
1089
+ * @returns {Intersect} {@link Intersect.INSIDE} if the entire sphere is on the side of the plane
1090
+ * the normal is pointing, {@link Intersect.OUTSIDE} if the entire sphere is
1091
+ * on the opposite side, and {@link Intersect.INTERSECTING} if the sphere
1092
+ * intersects the plane.
1093
+ */
1094
+ BoundingSphere.intersectPlane = function (sphere, plane) {
1095
+ //>>includeStart('debug', pragmas.debug);
1096
+ Check.typeOf.object("sphere", sphere);
1097
+ Check.typeOf.object("plane", plane);
1098
+ //>>includeEnd('debug');
1099
+
1100
+ const center = sphere.center;
1101
+ const radius = sphere.radius;
1102
+ const normal = plane.normal;
1103
+ const distanceToPlane = Cartesian3.dot(normal, center) + plane.distance;
1104
+
1105
+ if (distanceToPlane < -radius) {
1106
+ // The center point is negative side of the plane normal
1107
+ return Intersect.OUTSIDE;
1108
+ } else if (distanceToPlane < radius) {
1109
+ // The center point is positive side of the plane, but radius extends beyond it; partial overlap
1110
+ return Intersect.INTERSECTING;
1111
+ }
1112
+ return Intersect.INSIDE;
1113
+ };
1114
+
1115
+ /**
1116
+ * Applies a 4x4 affine transformation matrix to a bounding sphere.
1117
+ *
1118
+ * @param {BoundingSphere} sphere The bounding sphere to apply the transformation to.
1119
+ * @param {Matrix4} transform The transformation matrix to apply to the bounding sphere.
1120
+ * @param {BoundingSphere} [result] The object onto which to store the result.
1121
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
1122
+ */
1123
+ BoundingSphere.transform = function (sphere, transform, result) {
1124
+ //>>includeStart('debug', pragmas.debug);
1125
+ Check.typeOf.object("sphere", sphere);
1126
+ Check.typeOf.object("transform", transform);
1127
+ //>>includeEnd('debug');
1128
+
1129
+ if (!defined(result)) {
1130
+ result = new BoundingSphere();
1131
+ }
1132
+
1133
+ result.center = Matrix4.multiplyByPoint(
1134
+ transform,
1135
+ sphere.center,
1136
+ result.center
1137
+ );
1138
+ result.radius = Matrix4.getMaximumScale(transform) * sphere.radius;
1139
+
1140
+ return result;
1141
+ };
1142
+
1143
+ const distanceSquaredToScratch = new Cartesian3();
1144
+
1145
+ /**
1146
+ * Computes the estimated distance squared from the closest point on a bounding sphere to a point.
1147
+ *
1148
+ * @param {BoundingSphere} sphere The sphere.
1149
+ * @param {Cartesian3} cartesian The point
1150
+ * @returns {Number} The distance squared from the bounding sphere to the point. Returns 0 if the point is inside the sphere.
1151
+ *
1152
+ * @example
1153
+ * // Sort bounding spheres from back to front
1154
+ * spheres.sort(function(a, b) {
1155
+ * return Cesium.BoundingSphere.distanceSquaredTo(b, camera.positionWC) - Cesium.BoundingSphere.distanceSquaredTo(a, camera.positionWC);
1156
+ * });
1157
+ */
1158
+ BoundingSphere.distanceSquaredTo = function (sphere, cartesian) {
1159
+ //>>includeStart('debug', pragmas.debug);
1160
+ Check.typeOf.object("sphere", sphere);
1161
+ Check.typeOf.object("cartesian", cartesian);
1162
+ //>>includeEnd('debug');
1163
+
1164
+ const diff = Cartesian3.subtract(
1165
+ sphere.center,
1166
+ cartesian,
1167
+ distanceSquaredToScratch
1168
+ );
1169
+
1170
+ const distance = Cartesian3.magnitude(diff) - sphere.radius;
1171
+ if (distance <= 0.0) {
1172
+ return 0.0;
1173
+ }
1174
+
1175
+ return distance * distance;
1176
+ };
1177
+
1178
+ /**
1179
+ * Applies a 4x4 affine transformation matrix to a bounding sphere where there is no scale
1180
+ * The transformation matrix is not verified to have a uniform scale of 1.
1181
+ * This method is faster than computing the general bounding sphere transform using {@link BoundingSphere.transform}.
1182
+ *
1183
+ * @param {BoundingSphere} sphere The bounding sphere to apply the transformation to.
1184
+ * @param {Matrix4} transform The transformation matrix to apply to the bounding sphere.
1185
+ * @param {BoundingSphere} [result] The object onto which to store the result.
1186
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
1187
+ *
1188
+ * @example
1189
+ * const modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(positionOnEllipsoid);
1190
+ * const boundingSphere = new Cesium.BoundingSphere();
1191
+ * const newBoundingSphere = Cesium.BoundingSphere.transformWithoutScale(boundingSphere, modelMatrix);
1192
+ */
1193
+ BoundingSphere.transformWithoutScale = function (sphere, transform, result) {
1194
+ //>>includeStart('debug', pragmas.debug);
1195
+ Check.typeOf.object("sphere", sphere);
1196
+ Check.typeOf.object("transform", transform);
1197
+ //>>includeEnd('debug');
1198
+
1199
+ if (!defined(result)) {
1200
+ result = new BoundingSphere();
1201
+ }
1202
+
1203
+ result.center = Matrix4.multiplyByPoint(
1204
+ transform,
1205
+ sphere.center,
1206
+ result.center
1207
+ );
1208
+ result.radius = sphere.radius;
1209
+
1210
+ return result;
1211
+ };
1212
+
1213
+ const scratchCartesian3 = new Cartesian3();
1214
+ /**
1215
+ * The distances calculated by the vector from the center of the bounding sphere to position projected onto direction
1216
+ * plus/minus the radius of the bounding sphere.
1217
+ * <br>
1218
+ * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the
1219
+ * closest and farthest planes from position that intersect the bounding sphere.
1220
+ *
1221
+ * @param {BoundingSphere} sphere The bounding sphere to calculate the distance to.
1222
+ * @param {Cartesian3} position The position to calculate the distance from.
1223
+ * @param {Cartesian3} direction The direction from position.
1224
+ * @param {Interval} [result] A Interval to store the nearest and farthest distances.
1225
+ * @returns {Interval} The nearest and farthest distances on the bounding sphere from position in direction.
1226
+ */
1227
+ BoundingSphere.computePlaneDistances = function (
1228
+ sphere,
1229
+ position,
1230
+ direction,
1231
+ result
1232
+ ) {
1233
+ //>>includeStart('debug', pragmas.debug);
1234
+ Check.typeOf.object("sphere", sphere);
1235
+ Check.typeOf.object("position", position);
1236
+ Check.typeOf.object("direction", direction);
1237
+ //>>includeEnd('debug');
1238
+
1239
+ if (!defined(result)) {
1240
+ result = new Interval();
1241
+ }
1242
+
1243
+ const toCenter = Cartesian3.subtract(
1244
+ sphere.center,
1245
+ position,
1246
+ scratchCartesian3
1247
+ );
1248
+ const mag = Cartesian3.dot(direction, toCenter);
1249
+
1250
+ result.start = mag - sphere.radius;
1251
+ result.stop = mag + sphere.radius;
1252
+ return result;
1253
+ };
1254
+
1255
+ const projectTo2DNormalScratch = new Cartesian3();
1256
+ const projectTo2DEastScratch = new Cartesian3();
1257
+ const projectTo2DNorthScratch = new Cartesian3();
1258
+ const projectTo2DWestScratch = new Cartesian3();
1259
+ const projectTo2DSouthScratch = new Cartesian3();
1260
+ const projectTo2DCartographicScratch = new Cartographic();
1261
+ const projectTo2DPositionsScratch = new Array(8);
1262
+ for (let n = 0; n < 8; ++n) {
1263
+ projectTo2DPositionsScratch[n] = new Cartesian3();
1264
+ }
1265
+
1266
+ const projectTo2DProjection = new GeographicProjection();
1267
+ /**
1268
+ * Creates a bounding sphere in 2D from a bounding sphere in 3D world coordinates.
1269
+ *
1270
+ * @param {BoundingSphere} sphere The bounding sphere to transform to 2D.
1271
+ * @param {Object} [projection=GeographicProjection] The projection to 2D.
1272
+ * @param {BoundingSphere} [result] The object onto which to store the result.
1273
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
1274
+ */
1275
+ BoundingSphere.projectTo2D = function (sphere, projection, result) {
1276
+ //>>includeStart('debug', pragmas.debug);
1277
+ Check.typeOf.object("sphere", sphere);
1278
+ //>>includeEnd('debug');
1279
+
1280
+ projection = defaultValue(projection, projectTo2DProjection);
1281
+
1282
+ const ellipsoid = projection.ellipsoid;
1283
+ let center = sphere.center;
1284
+ const radius = sphere.radius;
1285
+
1286
+ let normal;
1287
+ if (Cartesian3.equals(center, Cartesian3.ZERO)) {
1288
+ // Bounding sphere is at the center. The geodetic surface normal is not
1289
+ // defined here so pick the x-axis as a fallback.
1290
+ normal = Cartesian3.clone(Cartesian3.UNIT_X, projectTo2DNormalScratch);
1291
+ } else {
1292
+ normal = ellipsoid.geodeticSurfaceNormal(center, projectTo2DNormalScratch);
1293
+ }
1294
+ const east = Cartesian3.cross(
1295
+ Cartesian3.UNIT_Z,
1296
+ normal,
1297
+ projectTo2DEastScratch
1298
+ );
1299
+ Cartesian3.normalize(east, east);
1300
+ const north = Cartesian3.cross(normal, east, projectTo2DNorthScratch);
1301
+ Cartesian3.normalize(north, north);
1302
+
1303
+ Cartesian3.multiplyByScalar(normal, radius, normal);
1304
+ Cartesian3.multiplyByScalar(north, radius, north);
1305
+ Cartesian3.multiplyByScalar(east, radius, east);
1306
+
1307
+ const south = Cartesian3.negate(north, projectTo2DSouthScratch);
1308
+ const west = Cartesian3.negate(east, projectTo2DWestScratch);
1309
+
1310
+ const positions = projectTo2DPositionsScratch;
1311
+
1312
+ // top NE corner
1313
+ let corner = positions[0];
1314
+ Cartesian3.add(normal, north, corner);
1315
+ Cartesian3.add(corner, east, corner);
1316
+
1317
+ // top NW corner
1318
+ corner = positions[1];
1319
+ Cartesian3.add(normal, north, corner);
1320
+ Cartesian3.add(corner, west, corner);
1321
+
1322
+ // top SW corner
1323
+ corner = positions[2];
1324
+ Cartesian3.add(normal, south, corner);
1325
+ Cartesian3.add(corner, west, corner);
1326
+
1327
+ // top SE corner
1328
+ corner = positions[3];
1329
+ Cartesian3.add(normal, south, corner);
1330
+ Cartesian3.add(corner, east, corner);
1331
+
1332
+ Cartesian3.negate(normal, normal);
1333
+
1334
+ // bottom NE corner
1335
+ corner = positions[4];
1336
+ Cartesian3.add(normal, north, corner);
1337
+ Cartesian3.add(corner, east, corner);
1338
+
1339
+ // bottom NW corner
1340
+ corner = positions[5];
1341
+ Cartesian3.add(normal, north, corner);
1342
+ Cartesian3.add(corner, west, corner);
1343
+
1344
+ // bottom SW corner
1345
+ corner = positions[6];
1346
+ Cartesian3.add(normal, south, corner);
1347
+ Cartesian3.add(corner, west, corner);
1348
+
1349
+ // bottom SE corner
1350
+ corner = positions[7];
1351
+ Cartesian3.add(normal, south, corner);
1352
+ Cartesian3.add(corner, east, corner);
1353
+
1354
+ const length = positions.length;
1355
+ for (let i = 0; i < length; ++i) {
1356
+ const position = positions[i];
1357
+ Cartesian3.add(center, position, position);
1358
+ const cartographic = ellipsoid.cartesianToCartographic(
1359
+ position,
1360
+ projectTo2DCartographicScratch
1361
+ );
1362
+ projection.project(cartographic, position);
1363
+ }
1364
+
1365
+ result = BoundingSphere.fromPoints(positions, result);
1366
+
1367
+ // swizzle center components
1368
+ center = result.center;
1369
+ const x = center.x;
1370
+ const y = center.y;
1371
+ const z = center.z;
1372
+ center.x = z;
1373
+ center.y = x;
1374
+ center.z = y;
1375
+
1376
+ return result;
1377
+ };
1378
+
1379
+ /**
1380
+ * Determines whether or not a sphere is hidden from view by the occluder.
1381
+ *
1382
+ * @param {BoundingSphere} sphere The bounding sphere surrounding the occludee object.
1383
+ * @param {Occluder} occluder The occluder.
1384
+ * @returns {Boolean} <code>true</code> if the sphere is not visible; otherwise <code>false</code>.
1385
+ */
1386
+ BoundingSphere.isOccluded = function (sphere, occluder) {
1387
+ //>>includeStart('debug', pragmas.debug);
1388
+ Check.typeOf.object("sphere", sphere);
1389
+ Check.typeOf.object("occluder", occluder);
1390
+ //>>includeEnd('debug');
1391
+ return !occluder.isBoundingSphereVisible(sphere);
1392
+ };
1393
+
1394
+ /**
1395
+ * Compares the provided BoundingSphere componentwise and returns
1396
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
1397
+ *
1398
+ * @param {BoundingSphere} [left] The first BoundingSphere.
1399
+ * @param {BoundingSphere} [right] The second BoundingSphere.
1400
+ * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
1401
+ */
1402
+ BoundingSphere.equals = function (left, right) {
1403
+ return (
1404
+ left === right ||
1405
+ (defined(left) &&
1406
+ defined(right) &&
1407
+ Cartesian3.equals(left.center, right.center) &&
1408
+ left.radius === right.radius)
1409
+ );
1410
+ };
1411
+
1412
+ /**
1413
+ * Determines which side of a plane the sphere is located.
1414
+ *
1415
+ * @param {Plane} plane The plane to test against.
1416
+ * @returns {Intersect} {@link Intersect.INSIDE} if the entire sphere is on the side of the plane
1417
+ * the normal is pointing, {@link Intersect.OUTSIDE} if the entire sphere is
1418
+ * on the opposite side, and {@link Intersect.INTERSECTING} if the sphere
1419
+ * intersects the plane.
1420
+ */
1421
+ BoundingSphere.prototype.intersectPlane = function (plane) {
1422
+ return BoundingSphere.intersectPlane(this, plane);
1423
+ };
1424
+
1425
+ /**
1426
+ * Computes the estimated distance squared from the closest point on a bounding sphere to a point.
1427
+ *
1428
+ * @param {Cartesian3} cartesian The point
1429
+ * @returns {Number} The estimated distance squared from the bounding sphere to the point.
1430
+ *
1431
+ * @example
1432
+ * // Sort bounding spheres from back to front
1433
+ * spheres.sort(function(a, b) {
1434
+ * return b.distanceSquaredTo(camera.positionWC) - a.distanceSquaredTo(camera.positionWC);
1435
+ * });
1436
+ */
1437
+ BoundingSphere.prototype.distanceSquaredTo = function (cartesian) {
1438
+ return BoundingSphere.distanceSquaredTo(this, cartesian);
1439
+ };
1440
+
1441
+ /**
1442
+ * The distances calculated by the vector from the center of the bounding sphere to position projected onto direction
1443
+ * plus/minus the radius of the bounding sphere.
1444
+ * <br>
1445
+ * If you imagine the infinite number of planes with normal direction, this computes the smallest distance to the
1446
+ * closest and farthest planes from position that intersect the bounding sphere.
1447
+ *
1448
+ * @param {Cartesian3} position The position to calculate the distance from.
1449
+ * @param {Cartesian3} direction The direction from position.
1450
+ * @param {Interval} [result] A Interval to store the nearest and farthest distances.
1451
+ * @returns {Interval} The nearest and farthest distances on the bounding sphere from position in direction.
1452
+ */
1453
+ BoundingSphere.prototype.computePlaneDistances = function (
1454
+ position,
1455
+ direction,
1456
+ result
1457
+ ) {
1458
+ return BoundingSphere.computePlaneDistances(
1459
+ this,
1460
+ position,
1461
+ direction,
1462
+ result
1463
+ );
1464
+ };
1465
+
1466
+ /**
1467
+ * Determines whether or not a sphere is hidden from view by the occluder.
1468
+ *
1469
+ * @param {Occluder} occluder The occluder.
1470
+ * @returns {Boolean} <code>true</code> if the sphere is not visible; otherwise <code>false</code>.
1471
+ */
1472
+ BoundingSphere.prototype.isOccluded = function (occluder) {
1473
+ return BoundingSphere.isOccluded(this, occluder);
1474
+ };
1475
+
1476
+ /**
1477
+ * Compares this BoundingSphere against the provided BoundingSphere componentwise and returns
1478
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
1479
+ *
1480
+ * @param {BoundingSphere} [right] The right hand side BoundingSphere.
1481
+ * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
1482
+ */
1483
+ BoundingSphere.prototype.equals = function (right) {
1484
+ return BoundingSphere.equals(this, right);
1485
+ };
1486
+
1487
+ /**
1488
+ * Duplicates this BoundingSphere instance.
1489
+ *
1490
+ * @param {BoundingSphere} [result] The object onto which to store the result.
1491
+ * @returns {BoundingSphere} The modified result parameter or a new BoundingSphere instance if none was provided.
1492
+ */
1493
+ BoundingSphere.prototype.clone = function (result) {
1494
+ return BoundingSphere.clone(this, result);
1495
+ };
1496
+
1497
+ /**
1498
+ * Computes the radius of the BoundingSphere.
1499
+ * @returns {Number} The radius of the BoundingSphere.
1500
+ */
1501
+ BoundingSphere.prototype.volume = function () {
1502
+ const radius = this.radius;
1503
+ return volumeConstant * radius * radius * radius;
1504
+ };
1505
+ export default BoundingSphere;