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