@cesium/engine 10.1.0 → 11.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 (845) hide show
  1. package/Build/Workers/{chunk-EB7PNZTK.js → chunk-26GA3JAM.js} +6 -5
  2. package/Build/Workers/{chunk-RZLZWKFN.js → chunk-27HUZ7SA.js} +4 -4
  3. package/Build/Workers/{chunk-A5CODJ4M.js → chunk-2ZGOQXYU.js} +6 -6
  4. package/Build/Workers/{chunk-TF776XCO.js → chunk-3Q2L65QU.js} +7 -7
  5. package/Build/Workers/{chunk-NVOABL76.js → chunk-472HQ3EH.js} +5 -5
  6. package/Build/Workers/{chunk-QX5XS4LC.js → chunk-5ODQSF26.js} +2 -2
  7. package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-5OOFQLKF.js} +6 -6
  8. package/Build/Workers/{chunk-OXALEQPI.js → chunk-5PTXS2GO.js} +49 -23
  9. package/Build/Workers/{chunk-T77JILCU.js → chunk-6CHGCNMW.js} +2 -2
  10. package/Build/Workers/{chunk-FEVVHITK.js → chunk-76BYBWHP.js} +4 -4
  11. package/Build/Workers/{chunk-65MZOUNU.js → chunk-7BMOHCPM.js} +13 -13
  12. package/Build/Workers/{chunk-VE7BFUIX.js → chunk-7JO7GPJN.js} +1 -1
  13. package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-7KTQP4VB.js} +5 -5
  14. package/Build/Workers/{chunk-G5V4GPZE.js → chunk-7O373FFS.js} +8 -34
  15. package/Build/Workers/{chunk-S3PI2KFM.js → chunk-AD63PIY6.js} +2 -2
  16. package/Build/Workers/{chunk-6D66DPRV.js → chunk-BHQJ2NT7.js} +6 -6
  17. package/Build/Workers/{chunk-I2RC4XVN.js → chunk-C6YYBQXW.js} +4 -4
  18. package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-CKY7HOHV.js} +9 -9
  19. package/Build/Workers/{chunk-TO2PVHKI.js → chunk-DHYHSFFJ.js} +2 -2
  20. package/Build/Workers/{chunk-R6B7UCQB.js → chunk-DI5NGJUP.js} +2 -2
  21. package/Build/Workers/{chunk-X23FRWHJ.js → chunk-E27BLMDD.js} +7 -9
  22. package/Build/Workers/{chunk-N4QEHO3U.js → chunk-E63IIM5T.js} +1 -1
  23. package/Build/Workers/{chunk-BY3E4ONI.js → chunk-E6V6SQZW.js} +6 -6
  24. package/Build/Workers/{chunk-LSSWVB2X.js → chunk-EJZTDTUH.js} +4 -4
  25. package/Build/Workers/{chunk-XLTOBCDI.js → chunk-FDOV2LBJ.js} +7 -7
  26. package/Build/Workers/{chunk-ACRTCBN5.js → chunk-FIGIZHAQ.js} +11 -11
  27. package/Build/Workers/{chunk-4RMIRG6T.js → chunk-GESF4OXQ.js} +2 -2
  28. package/Build/Workers/{chunk-PNFHVBSF.js → chunk-GGZJN2TI.js} +16 -15
  29. package/Build/Workers/{chunk-KV4EQHK4.js → chunk-GNBFYG7F.js} +83 -79
  30. package/Build/Workers/{chunk-FOZWUH4T.js → chunk-GWCFU2SA.js} +7 -7
  31. package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-I2ITFFPX.js} +1 -1
  32. package/Build/Workers/{chunk-XQI7XZHX.js → chunk-IBLIYJZR.js} +6 -6
  33. package/Build/Workers/{chunk-D2U4RI64.js → chunk-JW4FOI6M.js} +7 -7
  34. package/Build/Workers/{chunk-2J3JKXCP.js → chunk-K4GQUNB5.js} +9 -5
  35. package/Build/Workers/{chunk-POSRARY7.js → chunk-M3GMB5OP.js} +10 -10
  36. package/Build/Workers/{chunk-OOK53QUQ.js → chunk-MXIZJAPH.js} +1 -1
  37. package/Build/Workers/{chunk-OWGTMVDB.js → chunk-N5KJGGCM.js} +18 -20
  38. package/Build/Workers/{chunk-J7MQUQJY.js → chunk-NGPPMXRM.js} +12 -7
  39. package/Build/Workers/{chunk-OOMCT7OL.js → chunk-O3E4OAOE.js} +13 -13
  40. package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-PGRPDNHG.js} +19 -23
  41. package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-PRGYLLJT.js} +1 -1
  42. package/Build/Workers/{chunk-XZZNKIEV.js → chunk-S6MRMMQU.js} +6 -6
  43. package/Build/Workers/{chunk-76BYYG7N.js → chunk-SMDOP47J.js} +10 -10
  44. package/Build/Workers/{chunk-ZU334IDQ.js → chunk-TGONEMZO.js} +11 -11
  45. package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-TKVT5GQM.js} +13 -13
  46. package/Build/Workers/{chunk-FDCLACT5.js → chunk-U72QNFOJ.js} +15 -25
  47. package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-VJZB3WAV.js} +7 -7
  48. package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-VU2MNO7L.js} +7 -7
  49. package/Build/Workers/{chunk-R4OIEIPE.js → chunk-XY4BATBS.js} +4 -4
  50. package/Build/Workers/{chunk-T6LPN7RI.js → chunk-YFXQECWV.js} +5 -5
  51. package/Build/Workers/{chunk-UCIPJSZX.js → chunk-YSGTGQQO.js} +14 -14
  52. package/Build/Workers/{chunk-BGE4QVG7.js → chunk-YZ733KKS.js} +12 -12
  53. package/Build/Workers/combineGeometry.js +23 -25
  54. package/Build/Workers/createBoxGeometry.js +16 -16
  55. package/Build/Workers/createBoxOutlineGeometry.js +14 -14
  56. package/Build/Workers/createCircleGeometry.js +24 -24
  57. package/Build/Workers/createCircleOutlineGeometry.js +17 -17
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  60. package/Build/Workers/createCorridorGeometry.js +27 -27
  61. package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
  62. package/Build/Workers/createCylinderGeometry.js +18 -18
  63. package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
  64. package/Build/Workers/createEllipseGeometry.js +24 -24
  65. package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipsoidGeometry.js +17 -17
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
  68. package/Build/Workers/createFrustumGeometry.js +16 -16
  69. package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
  70. package/Build/Workers/createGeometry.js +25 -26
  71. package/Build/Workers/createGroundPolylineGeometry.js +20 -20
  72. package/Build/Workers/createPlaneGeometry.js +14 -14
  73. package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
  74. package/Build/Workers/createPolygonGeometry.js +36 -40
  75. package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +28 -30
  80. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  81. package/Build/Workers/createSimplePolylineGeometry.js +21 -21
  82. package/Build/Workers/createSphereGeometry.js +17 -17
  83. package/Build/Workers/createSphereOutlineGeometry.js +16 -16
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
  86. package/Build/Workers/createVectorTileGeometries.js +22 -22
  87. package/Build/Workers/createVectorTilePoints.js +12 -12
  88. package/Build/Workers/createVectorTilePolygons.js +20 -20
  89. package/Build/Workers/createVectorTilePolylines.js +13 -13
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
  91. package/Build/Workers/createVerticesFromHeightmap.js +26 -26
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
  93. package/Build/Workers/createWallGeometry.js +22 -22
  94. package/Build/Workers/createWallOutlineGeometry.js +21 -21
  95. package/Build/Workers/decodeDraco.js +11 -11
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +28 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +19 -18
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/ApproximateTerrainHeights.js +15 -15
  102. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
  103. package/Source/Core/AttributeCompression.js +12 -12
  104. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  105. package/Source/Core/BingMapsGeocoderService.js +1 -1
  106. package/Source/Core/BoundingRectangle.js +3 -3
  107. package/Source/Core/BoundingSphere.js +44 -44
  108. package/Source/Core/BoxGeometry.js +6 -6
  109. package/Source/Core/BoxOutlineGeometry.js +3 -3
  110. package/Source/Core/Cartesian2.js +7 -7
  111. package/Source/Core/Cartesian3.js +20 -20
  112. package/Source/Core/Cartesian4.js +8 -8
  113. package/Source/Core/Cartographic.js +6 -6
  114. package/Source/Core/CatmullRomSpline.js +6 -6
  115. package/Source/Core/CesiumTerrainProvider.js +66 -68
  116. package/Source/Core/Check.d.ts +3 -3
  117. package/Source/Core/Check.js +11 -11
  118. package/Source/Core/CircleGeometry.js +6 -6
  119. package/Source/Core/CircleOutlineGeometry.js +4 -4
  120. package/Source/Core/Clock.js +4 -4
  121. package/Source/Core/Color.js +11 -8
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +13 -2
  125. package/Source/Core/ConstantSpline.js +1 -1
  126. package/Source/Core/CoplanarPolygonGeometry.js +44 -41
  127. package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
  128. package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
  129. package/Source/Core/CorridorGeometry.js +77 -77
  130. package/Source/Core/CorridorGeometryLibrary.js +45 -45
  131. package/Source/Core/CorridorOutlineGeometry.js +16 -16
  132. package/Source/Core/CullingVolume.js +4 -4
  133. package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
  134. package/Source/Core/CylinderGeometry.js +8 -8
  135. package/Source/Core/CylinderGeometryLibrary.js +1 -1
  136. package/Source/Core/CylinderOutlineGeometry.js +4 -4
  137. package/Source/Core/DeveloperError.js +1 -1
  138. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
  139. package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
  140. package/Source/Core/EarthOrientationParameters.js +21 -25
  141. package/Source/Core/EarthOrientationParametersSample.js +1 -1
  142. package/Source/Core/EllipseGeometry.js +54 -55
  143. package/Source/Core/EllipseGeometryLibrary.js +12 -12
  144. package/Source/Core/EllipseOutlineGeometry.js +19 -19
  145. package/Source/Core/Ellipsoid.js +25 -33
  146. package/Source/Core/EllipsoidGeodesic.js +17 -16
  147. package/Source/Core/EllipsoidGeometry.js +9 -8
  148. package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
  149. package/Source/Core/EllipsoidRhumbLine.js +33 -32
  150. package/Source/Core/EllipsoidTangentPlane.js +16 -16
  151. package/Source/Core/EllipsoidTerrainProvider.js +11 -10
  152. package/Source/Core/EllipsoidalOccluder.js +110 -130
  153. package/Source/Core/FeatureDetection.js +4 -4
  154. package/Source/Core/FrustumGeometry.js +14 -14
  155. package/Source/Core/FrustumOutlineGeometry.js +4 -4
  156. package/Source/Core/GeographicTilingScheme.js +6 -6
  157. package/Source/Core/Geometry.js +15 -17
  158. package/Source/Core/GeometryAttribute.js +4 -9
  159. package/Source/Core/GeometryAttributes.js +6 -6
  160. package/Source/Core/GeometryInstance.js +3 -4
  161. package/Source/Core/GeometryInstanceAttribute.js +1 -6
  162. package/Source/Core/GeometryPipeline.js +133 -137
  163. package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
  164. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
  165. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
  166. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
  167. package/Source/Core/GoogleMaps.js +1 -1
  168. package/Source/Core/GregorianDate.js +4 -4
  169. package/Source/Core/GroundPolylineGeometry.js +104 -104
  170. package/Source/Core/HeadingPitchRoll.js +7 -7
  171. package/Source/Core/HeightmapTerrainData.js +58 -54
  172. package/Source/Core/HeightmapTessellator.js +22 -23
  173. package/Source/Core/HermitePolynomialApproximation.js +8 -8
  174. package/Source/Core/HermiteSpline.js +11 -11
  175. package/Source/Core/HilbertOrder.js +1 -1
  176. package/Source/Core/Iau2006XysData.js +6 -6
  177. package/Source/Core/IauOrientationAxes.js +2 -2
  178. package/Source/Core/IauOrientationParameters.js +1 -1
  179. package/Source/Core/IndexDatatype.js +5 -5
  180. package/Source/Core/IntersectionTests.js +36 -78
  181. package/Source/Core/Intersections2D.js +3 -3
  182. package/Source/Core/Ion.js +1 -1
  183. package/Source/Core/IonGeocoderService.js +2 -2
  184. package/Source/Core/IonResource.js +5 -5
  185. package/Source/Core/Iso8601.js +3 -3
  186. package/Source/Core/JulianDate.js +23 -33
  187. package/Source/Core/KTX2Transcoder.js +11 -18
  188. package/Source/Core/LagrangePolynomialApproximation.js +1 -1
  189. package/Source/Core/LinearApproximation.js +4 -4
  190. package/Source/Core/LinearSpline.js +2 -2
  191. package/Source/Core/Math.js +4 -4
  192. package/Source/Core/Matrix2.js +3 -3
  193. package/Source/Core/Matrix3.js +16 -16
  194. package/Source/Core/Matrix4.js +31 -31
  195. package/Source/Core/MorphWeightSpline.js +2 -2
  196. package/Source/Core/NearFarScalar.js +1 -1
  197. package/Source/Core/Occluder.js +52 -56
  198. package/Source/Core/OpenCageGeocoderService.js +2 -2
  199. package/Source/Core/OrientedBoundingBox.js +52 -51
  200. package/Source/Core/OrthographicFrustum.js +11 -11
  201. package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
  202. package/Source/Core/PeliasGeocoderService.js +1 -1
  203. package/Source/Core/PerspectiveFrustum.js +61 -55
  204. package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
  205. package/Source/Core/PinBuilder.js +1 -1
  206. package/Source/Core/PixelFormat.js +7 -21
  207. package/Source/Core/Plane.js +9 -9
  208. package/Source/Core/PlaneGeometry.js +1 -1
  209. package/Source/Core/PolygonGeometry.js +95 -94
  210. package/Source/Core/PolygonGeometryLibrary.js +49 -51
  211. package/Source/Core/PolygonOutlineGeometry.js +49 -51
  212. package/Source/Core/PolygonPipeline.js +31 -31
  213. package/Source/Core/PolylineGeometry.js +10 -10
  214. package/Source/Core/PolylinePipeline.js +25 -25
  215. package/Source/Core/PolylineVolumeGeometry.js +9 -9
  216. package/Source/Core/PolylineVolumeGeometryLibrary.js +51 -51
  217. package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
  218. package/Source/Core/QuadraticRealPolynomial.js +1 -1
  219. package/Source/Core/QuantizedMeshTerrainData.js +28 -28
  220. package/Source/Core/QuarticRealPolynomial.js +1 -1
  221. package/Source/Core/Quaternion.js +19 -19
  222. package/Source/Core/QuaternionSpline.js +2 -2
  223. package/Source/Core/Rectangle.js +34 -13
  224. package/Source/Core/RectangleCollisionChecker.js +3 -3
  225. package/Source/Core/RectangleGeometry.js +55 -56
  226. package/Source/Core/RectangleGeometryLibrary.js +8 -8
  227. package/Source/Core/RectangleOutlineGeometry.js +20 -20
  228. package/Source/Core/RequestScheduler.js +6 -6
  229. package/Source/Core/Resource.js +24 -24
  230. package/Source/Core/S2Cell.js +16 -80
  231. package/Source/Core/ScreenSpaceEventHandler.js +54 -53
  232. package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
  233. package/Source/Core/SimplePolylineGeometry.js +7 -7
  234. package/Source/Core/SphereGeometry.js +2 -2
  235. package/Source/Core/SphereOutlineGeometry.js +3 -3
  236. package/Source/Core/Spline.js +1 -1
  237. package/Source/Core/SteppedSpline.js +1 -1
  238. package/Source/Core/Stereographic.js +9 -9
  239. package/Source/Core/TaskProcessor.js +13 -13
  240. package/Source/Core/TerrainEncoding.js +33 -38
  241. package/Source/Core/TerrainMesh.js +1 -1
  242. package/Source/Core/TerrainProvider.js +12 -12
  243. package/Source/Core/TileAvailability.js +28 -28
  244. package/Source/Core/TileProviderError.js +5 -5
  245. package/Source/Core/TilingScheme.js +1 -1
  246. package/Source/Core/TimeInterval.js +4 -4
  247. package/Source/Core/TimeIntervalCollection.js +16 -15
  248. package/Source/Core/Tipsify.js +2 -2
  249. package/Source/Core/Transforms.js +52 -54
  250. package/Source/Core/TranslationRotationScale.js +1 -1
  251. package/Source/Core/TridiagonalSystemSolver.js +4 -4
  252. package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
  253. package/Source/Core/VertexFormat.js +6 -6
  254. package/Source/Core/VerticalExaggeration.js +4 -4
  255. package/Source/Core/VideoSynchronizer.js +1 -1
  256. package/Source/Core/WallGeometry.js +18 -18
  257. package/Source/Core/WallGeometryLibrary.js +7 -7
  258. package/Source/Core/WallOutlineGeometry.js +8 -8
  259. package/Source/Core/WebMercatorProjection.js +5 -6
  260. package/Source/Core/WebMercatorTilingScheme.js +13 -13
  261. package/Source/Core/WireframeIndexGenerator.js +8 -8
  262. package/Source/Core/arrayRemoveDuplicates.js +1 -1
  263. package/Source/Core/buildModuleUrl.js +2 -2
  264. package/Source/Core/decodeGoogleEarthEnterpriseData.js +3 -3
  265. package/Source/Core/decodeVectorPolylinePositions.js +4 -4
  266. package/Source/Core/destroyObject.js +1 -1
  267. package/Source/Core/getJsonFromTypedArray.js +1 -1
  268. package/Source/Core/getMagic.js +1 -1
  269. package/Source/Core/loadImageFromTypedArray.js +2 -2
  270. package/Source/Core/loadKTX2.js +1 -1
  271. package/Source/Core/pointInsideTriangle.js +1 -1
  272. package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
  273. package/Source/Core/sampleTerrain.js +7 -7
  274. package/Source/Core/sampleTerrainMostDetailed.js +7 -7
  275. package/Source/Core/scaleToGeodeticSurface.js +3 -3
  276. package/Source/Core/srgbToLinear.js +1 -1
  277. package/Source/Core/writeTextToCanvas.js +1 -1
  278. package/Source/DataSources/BillboardGraphics.js +13 -13
  279. package/Source/DataSources/BillboardVisualizer.js +24 -24
  280. package/Source/DataSources/BoxGeometryUpdater.js +33 -32
  281. package/Source/DataSources/BoxGraphics.js +3 -3
  282. package/Source/DataSources/CallbackPositionProperty.js +173 -0
  283. package/Source/DataSources/CallbackProperty.js +8 -2
  284. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  285. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  286. package/Source/DataSources/CheckerboardMaterialProperty.js +9 -3
  287. package/Source/DataSources/ColorMaterialProperty.js +8 -2
  288. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  289. package/Source/DataSources/CompositeMaterialProperty.js +10 -11
  290. package/Source/DataSources/CompositePositionProperty.js +11 -6
  291. package/Source/DataSources/CompositeProperty.js +7 -7
  292. package/Source/DataSources/ConstantPositionProperty.js +9 -3
  293. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  294. package/Source/DataSources/CorridorGraphics.js +6 -6
  295. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  296. package/Source/DataSources/CylinderGraphics.js +4 -4
  297. package/Source/DataSources/CzmlDataSource.js +365 -368
  298. package/Source/DataSources/DataSourceCollection.js +1 -1
  299. package/Source/DataSources/DataSourceDisplay.js +23 -23
  300. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  301. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  302. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  303. package/Source/DataSources/EllipseGraphics.js +7 -7
  304. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  305. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  306. package/Source/DataSources/Entity.js +14 -14
  307. package/Source/DataSources/EntityCluster.js +29 -27
  308. package/Source/DataSources/EntityCollection.js +7 -7
  309. package/Source/DataSources/EntityView.js +23 -23
  310. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  311. package/Source/DataSources/GeometryUpdater.js +9 -10
  312. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  313. package/Source/DataSources/GeometryVisualizer.js +65 -71
  314. package/Source/DataSources/GpxDataSource.js +10 -10
  315. package/Source/DataSources/GridMaterialProperty.js +12 -6
  316. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  317. package/Source/DataSources/ImageMaterialProperty.js +10 -3
  318. package/Source/DataSources/KmlDataSource.js +212 -212
  319. package/Source/DataSources/LabelGraphics.js +14 -14
  320. package/Source/DataSources/LabelVisualizer.js +24 -24
  321. package/Source/DataSources/MaterialProperty.js +7 -1
  322. package/Source/DataSources/ModelGraphics.js +37 -17
  323. package/Source/DataSources/ModelVisualizer.js +41 -32
  324. package/Source/DataSources/NodeTransformationProperty.js +10 -4
  325. package/Source/DataSources/PathGraphics.js +2 -2
  326. package/Source/DataSources/PathVisualizer.js +99 -35
  327. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  328. package/Source/DataSources/PlaneGraphics.js +2 -2
  329. package/Source/DataSources/PointGraphics.js +8 -8
  330. package/Source/DataSources/PointVisualizer.js +29 -29
  331. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  332. package/Source/DataSources/PolygonGraphics.js +9 -9
  333. package/Source/DataSources/PolylineArrowMaterialProperty.js +8 -2
  334. package/Source/DataSources/PolylineDashMaterialProperty.js +11 -5
  335. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  336. package/Source/DataSources/PolylineGlowMaterialProperty.js +10 -4
  337. package/Source/DataSources/PolylineGraphics.js +4 -4
  338. package/Source/DataSources/PolylineOutlineMaterialProperty.js +10 -4
  339. package/Source/DataSources/PolylineVisualizer.js +39 -43
  340. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  341. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  342. package/Source/DataSources/PositionProperty.js +5 -4
  343. package/Source/DataSources/PositionPropertyArray.js +10 -4
  344. package/Source/DataSources/Property.js +2 -2
  345. package/Source/DataSources/PropertyArray.js +6 -6
  346. package/Source/DataSources/PropertyBag.js +10 -9
  347. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  348. package/Source/DataSources/RectangleGraphics.js +6 -6
  349. package/Source/DataSources/ReferenceProperty.js +13 -7
  350. package/Source/DataSources/Rotation.js +2 -2
  351. package/Source/DataSources/SampledPositionProperty.js +13 -7
  352. package/Source/DataSources/SampledProperty.js +22 -20
  353. package/Source/DataSources/ScaledPositionProperty.js +8 -2
  354. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  355. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  356. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  357. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  358. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  359. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  360. package/Source/DataSources/StripeMaterialProperty.js +9 -3
  361. package/Source/DataSources/TerrainOffsetProperty.js +20 -11
  362. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +35 -31
  363. package/Source/DataSources/TimeIntervalCollectionProperty.js +6 -6
  364. package/Source/DataSources/VelocityOrientationProperty.js +9 -4
  365. package/Source/DataSources/VelocityVectorProperty.js +7 -9
  366. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  367. package/Source/DataSources/WallGraphics.js +4 -4
  368. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  369. package/Source/DataSources/exportKml.js +90 -86
  370. package/Source/DataSources/getElement.js +1 -1
  371. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  372. package/Source/Renderer/AutomaticUniforms.js +3 -18
  373. package/Source/Renderer/Buffer.js +18 -18
  374. package/Source/Renderer/ClearCommand.js +1 -1
  375. package/Source/Renderer/ComputeEngine.js +1 -1
  376. package/Source/Renderer/Context.js +55 -40
  377. package/Source/Renderer/CubeMap.js +332 -354
  378. package/Source/Renderer/CubeMapFace.js +43 -65
  379. package/Source/Renderer/DrawCommand.js +50 -5
  380. package/Source/Renderer/Framebuffer.js +48 -49
  381. package/Source/Renderer/FramebufferManager.js +40 -34
  382. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  383. package/Source/Renderer/PixelDatatype.js +23 -0
  384. package/Source/Renderer/RenderState.js +36 -36
  385. package/Source/Renderer/Renderbuffer.js +3 -3
  386. package/Source/Renderer/Sampler.js +9 -15
  387. package/Source/Renderer/ShaderBuilder.js +8 -8
  388. package/Source/Renderer/ShaderCache.js +11 -15
  389. package/Source/Renderer/ShaderFunction.js +1 -1
  390. package/Source/Renderer/ShaderProgram.js +22 -15
  391. package/Source/Renderer/ShaderSource.js +40 -40
  392. package/Source/Renderer/Texture.js +455 -380
  393. package/Source/Renderer/UniformState.js +68 -80
  394. package/Source/Renderer/VertexArray.js +20 -20
  395. package/Source/Renderer/VertexArrayFacade.js +15 -16
  396. package/Source/Renderer/createUniform.js +1 -1
  397. package/Source/Renderer/createUniformArray.js +4 -4
  398. package/Source/Renderer/demodernizeShader.js +7 -5
  399. package/Source/Renderer/loadCubeMap.js +3 -8
  400. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  401. package/Source/Scene/ArcGisMapService.js +4 -7
  402. package/Source/Scene/AutoExposure.js +4 -5
  403. package/Source/Scene/Axis.js +6 -6
  404. package/Source/Scene/B3dmParser.js +9 -9
  405. package/Source/Scene/BatchTable.js +7 -7
  406. package/Source/Scene/BatchTableHierarchy.js +62 -59
  407. package/Source/Scene/BatchTexture.js +2 -2
  408. package/Source/Scene/Billboard.js +45 -43
  409. package/Source/Scene/BillboardCollection.js +81 -83
  410. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  411. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  412. package/Source/Scene/BoxEmitter.js +1 -1
  413. package/Source/Scene/BufferLoader.js +1 -1
  414. package/Source/Scene/Camera.js +161 -164
  415. package/Source/Scene/CameraEventAggregator.js +67 -23
  416. package/Source/Scene/CameraFlightPath.js +25 -25
  417. package/Source/Scene/Cesium3DTile.js +89 -95
  418. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  419. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  420. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  421. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  422. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  423. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  424. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  425. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  426. package/Source/Scene/Cesium3DTileset.js +81 -83
  427. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  428. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  430. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  431. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  432. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  433. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  434. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  435. package/Source/Scene/ClassificationPrimitive.js +70 -69
  436. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  437. package/Source/Scene/ClippingPolygon.js +8 -8
  438. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  439. package/Source/Scene/CloudCollection.js +3 -10
  440. package/Source/Scene/Composite3DTileContent.js +6 -6
  441. package/Source/Scene/ConditionsExpression.js +5 -5
  442. package/Source/Scene/ContentMetadata.js +4 -4
  443. package/Source/Scene/CreditDisplay.js +8 -8
  444. package/Source/Scene/CumulusCloud.js +4 -4
  445. package/Source/Scene/DebugAppearance.js +2 -2
  446. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  447. package/Source/Scene/DebugInspector.js +3 -3
  448. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  449. package/Source/Scene/DepthPlane.js +7 -7
  450. package/Source/Scene/DerivedCommand.js +422 -238
  451. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  452. package/Source/Scene/DracoLoader.js +3 -3
  453. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  454. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  455. package/Source/Scene/Empty3DTileContent.js +1 -1
  456. package/Source/Scene/Expression.js +91 -91
  457. package/Source/Scene/Fog.js +8 -41
  458. package/Source/Scene/FrameRateMonitor.js +22 -22
  459. package/Source/Scene/FrameState.js +31 -0
  460. package/Source/Scene/Geometry3DTileContent.js +20 -20
  461. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  462. package/Source/Scene/Globe.js +33 -28
  463. package/Source/Scene/GlobeDepth.js +95 -66
  464. package/Source/Scene/GlobeSurfaceShaderSet.js +41 -34
  465. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  466. package/Source/Scene/GlobeSurfaceTileProvider.js +132 -127
  467. package/Source/Scene/GlobeTranslucency.js +4 -4
  468. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  469. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  470. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  471. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  472. package/Source/Scene/GltfJsonLoader.js +2 -2
  473. package/Source/Scene/GltfLoader.js +177 -100
  474. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  475. package/Source/Scene/GltfTextureLoader.js +5 -5
  476. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  477. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  478. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  479. package/Source/Scene/GridImageryProvider.js +2 -2
  480. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  481. package/Source/Scene/GroundPrimitive.js +47 -45
  482. package/Source/Scene/GroupMetadata.js +4 -4
  483. package/Source/Scene/I3SDataProvider.js +12 -12
  484. package/Source/Scene/I3SDecoder.js +7 -8
  485. package/Source/Scene/I3SField.js +8 -8
  486. package/Source/Scene/I3SGeometry.js +14 -14
  487. package/Source/Scene/I3SLayer.js +26 -20
  488. package/Source/Scene/I3SNode.js +17 -17
  489. package/Source/Scene/I3SSublayer.js +4 -4
  490. package/Source/Scene/I3SSymbology.js +8 -8
  491. package/Source/Scene/I3dmParser.js +9 -9
  492. package/Source/Scene/ImageBasedLighting.js +58 -56
  493. package/Source/Scene/Imagery.js +3 -3
  494. package/Source/Scene/ImageryLayer.js +64 -66
  495. package/Source/Scene/ImageryLayerCollection.js +13 -15
  496. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  497. package/Source/Scene/ImageryProvider.js +1 -1
  498. package/Source/Scene/Implicit3DTileContent.js +34 -37
  499. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  500. package/Source/Scene/ImplicitMetadataView.js +2 -2
  501. package/Source/Scene/ImplicitSubtree.js +29 -30
  502. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  503. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  504. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  505. package/Source/Scene/ImplicitTileset.js +2 -2
  506. package/Source/Scene/InvertClassification.js +7 -7
  507. package/Source/Scene/IonImageryProvider.js +6 -6
  508. package/Source/Scene/JobScheduler.js +4 -4
  509. package/Source/Scene/Label.js +31 -31
  510. package/Source/Scene/LabelCollection.js +17 -15
  511. package/Source/Scene/MapboxImageryProvider.js +3 -3
  512. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  513. package/Source/Scene/Material.js +50 -29
  514. package/Source/Scene/MaterialAppearance.js +4 -4
  515. package/Source/Scene/Megatexture.js +21 -24
  516. package/Source/Scene/MetadataClassProperty.js +11 -11
  517. package/Source/Scene/MetadataComponentType.js +1 -1
  518. package/Source/Scene/MetadataEntity.js +8 -8
  519. package/Source/Scene/MetadataEnum.js +1 -1
  520. package/Source/Scene/MetadataPicking.js +305 -0
  521. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  522. package/Source/Scene/MetadataTable.js +2 -2
  523. package/Source/Scene/MetadataTableProperty.js +22 -22
  524. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  525. package/Source/Scene/Model/AtmospherePipelineStage.js +3 -3
  526. package/Source/Scene/Model/B3dmLoader.js +8 -8
  527. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  528. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  529. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  530. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  531. package/Source/Scene/Model/CustomShader.js +9 -9
  532. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  533. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  534. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  535. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  536. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  537. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  538. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  539. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  540. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  541. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  542. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  543. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  544. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  545. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  546. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  547. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  548. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  549. package/Source/Scene/Model/I3dmLoader.js +36 -36
  550. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +22 -30
  551. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  552. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  553. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  554. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  555. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  556. package/Source/Scene/Model/Model.js +134 -54
  557. package/Source/Scene/Model/Model3DTileContent.js +32 -13
  558. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  559. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  560. package/Source/Scene/Model/ModelArticulation.js +2 -2
  561. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  562. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  563. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  564. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  565. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  566. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  567. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  568. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  569. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  570. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  571. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  572. package/Source/Scene/Model/ModelSceneGraph.js +42 -43
  573. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  574. package/Source/Scene/Model/ModelSkin.js +4 -4
  575. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  576. package/Source/Scene/Model/ModelUtility.js +5 -5
  577. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  578. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  579. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  580. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  581. package/Source/Scene/Model/PntsLoader.js +7 -7
  582. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  583. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  584. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  585. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  586. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  587. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  588. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  589. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  590. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  591. package/Source/Scene/Model/TextureManager.js +2 -2
  592. package/Source/Scene/Model/TextureUniform.js +3 -3
  593. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  594. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  595. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  596. package/Source/Scene/Model/pickModel.js +26 -26
  597. package/Source/Scene/ModelComponents.js +13 -4
  598. package/Source/Scene/Moon.js +6 -5
  599. package/Source/Scene/Multiple3DTileContent.js +15 -14
  600. package/Source/Scene/OIT.js +48 -97
  601. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  602. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  603. package/Source/Scene/Particle.js +3 -3
  604. package/Source/Scene/ParticleEmitter.js +1 -1
  605. package/Source/Scene/ParticleSystem.js +32 -32
  606. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  607. package/Source/Scene/PickDepth.js +16 -4
  608. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  609. package/Source/Scene/PickFramebuffer.js +24 -12
  610. package/Source/Scene/PickedMetadataInfo.js +39 -0
  611. package/Source/Scene/Picking.js +270 -120
  612. package/Source/Scene/PntsParser.js +28 -28
  613. package/Source/Scene/PointCloud.js +39 -38
  614. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  615. package/Source/Scene/PointCloudShading.js +3 -3
  616. package/Source/Scene/PointPrimitive.js +31 -28
  617. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  618. package/Source/Scene/Polyline.js +9 -9
  619. package/Source/Scene/PolylineCollection.js +55 -57
  620. package/Source/Scene/PolylineColorAppearance.js +3 -3
  621. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  622. package/Source/Scene/PostProcessStage.js +95 -115
  623. package/Source/Scene/PostProcessStageCollection.js +73 -49
  624. package/Source/Scene/PostProcessStageComposite.js +2 -2
  625. package/Source/Scene/PostProcessStageLibrary.js +30 -4
  626. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  627. package/Source/Scene/Primitive.js +93 -93
  628. package/Source/Scene/PrimitiveCollection.js +1 -1
  629. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  630. package/Source/Scene/PrimitivePipeline.js +30 -30
  631. package/Source/Scene/PropertyTable.js +5 -5
  632. package/Source/Scene/PropertyTextureProperty.js +36 -7
  633. package/Source/Scene/QuadtreePrimitive.js +56 -58
  634. package/Source/Scene/QuadtreeTile.js +4 -4
  635. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  636. package/Source/Scene/ResourceCache.js +7 -7
  637. package/Source/Scene/ResourceCacheKey.js +15 -15
  638. package/Source/Scene/Scene.js +897 -677
  639. package/Source/Scene/SceneFramebuffer.js +2 -2
  640. package/Source/Scene/SceneTransforms.js +30 -92
  641. package/Source/Scene/SceneTransitioner.js +47 -47
  642. package/Source/Scene/ScreenSpaceCameraController.js +171 -157
  643. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  644. package/Source/Scene/ShadowMap.js +71 -72
  645. package/Source/Scene/ShadowMapShader.js +9 -9
  646. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  647. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  648. package/Source/Scene/SkyAtmosphere.js +8 -8
  649. package/Source/Scene/SkyBox.js +17 -24
  650. package/Source/Scene/SpatialNode.js +13 -13
  651. package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
  652. package/Source/Scene/SphereEmitter.js +1 -1
  653. package/Source/Scene/StructuralMetadata.js +1 -1
  654. package/Source/Scene/StyleExpression.js +1 -1
  655. package/Source/Scene/Sun.js +11 -7
  656. package/Source/Scene/SunPostProcess.js +6 -6
  657. package/Source/Scene/TerrainFillMesh.js +157 -156
  658. package/Source/Scene/TextureAtlas.js +11 -11
  659. package/Source/Scene/TileBoundingRegion.js +31 -31
  660. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  661. package/Source/Scene/TileBoundingSphere.js +2 -2
  662. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  663. package/Source/Scene/TileImagery.js +7 -11
  664. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  665. package/Source/Scene/TileMetadata.js +4 -4
  666. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  667. package/Source/Scene/Tileset3DTileContent.js +1 -1
  668. package/Source/Scene/TilesetMetadata.js +4 -4
  669. package/Source/Scene/TimeDynamicImagery.js +3 -3
  670. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  671. package/Source/Scene/Tonemapper.js +35 -23
  672. package/Source/Scene/TranslucentTileClassification.js +48 -58
  673. package/Source/Scene/TweenCollection.js +9 -9
  674. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  675. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  676. package/Source/Scene/Vector3DTileContent.js +38 -39
  677. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  678. package/Source/Scene/Vector3DTilePoints.js +18 -22
  679. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  680. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  681. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  682. package/Source/Scene/View.js +111 -80
  683. package/Source/Scene/VoxelBoxShape.js +34 -34
  684. package/Source/Scene/VoxelCell.js +7 -7
  685. package/Source/Scene/VoxelContent.js +1 -1
  686. package/Source/Scene/VoxelCylinderShape.js +48 -48
  687. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  688. package/Source/Scene/VoxelPrimitive.js +80 -109
  689. package/Source/Scene/VoxelRenderResources.js +13 -16
  690. package/Source/Scene/VoxelTraversal.js +41 -41
  691. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  692. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  693. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  694. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  695. package/Source/Scene/createBillboardPointCallback.js +2 -2
  696. package/Source/Scene/createElevationBandMaterial.js +8 -8
  697. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  698. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  699. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  700. package/Source/Scene/findContentMetadata.js +2 -2
  701. package/Source/Scene/findTileMetadata.js +2 -2
  702. package/Source/Scene/getBinaryAccessor.js +1 -1
  703. package/Source/Scene/getClipAndStyleCode.js +1 -1
  704. package/Source/Scene/getClippingFunction.js +1 -1
  705. package/Source/Scene/getMetadataClassProperty.js +43 -0
  706. package/Source/Scene/parseBatchTable.js +21 -24
  707. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  708. package/Source/Scene/parseStructuralMetadata.js +3 -3
  709. package/Source/Scene/processVoxelProperties.js +28 -33
  710. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -2
  711. package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
  712. package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
  713. package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +2 -2
  714. package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
  715. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
  716. package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
  717. package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
  718. package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
  719. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  720. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  721. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  722. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  723. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  724. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  725. package/Source/Shaders/Builtin/Structs/materialInput.glsl +2 -0
  726. package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
  727. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  728. package/Source/Shaders/DepthPlaneVS.js +1 -1
  729. package/Source/Shaders/GlobeFS.glsl +10 -4
  730. package/Source/Shaders/GlobeFS.js +10 -4
  731. package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
  732. package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
  733. package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
  734. package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
  735. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
  736. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
  737. package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
  738. package/Source/Shaders/Model/LightingStageFS.js +2 -2
  739. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  740. package/Source/Shaders/Model/ModelFS.js +26 -0
  741. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
  742. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
  743. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  744. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  745. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
  746. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
  747. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
  748. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
  749. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
  750. package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
  751. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
  752. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
  753. package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
  754. package/Source/Shaders/SkyAtmosphereFS.js +1 -1
  755. package/Source/Widget/CesiumWidget.js +10 -9
  756. package/Source/Workers/combineGeometry.js +3 -4
  757. package/Source/Workers/createCircleGeometry.js +2 -2
  758. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  759. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  760. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  761. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  762. package/Source/Workers/createGeometry.js +4 -5
  763. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  764. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  765. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  766. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  767. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  768. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  769. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  770. package/Source/Workers/createVectorTileGeometries.js +18 -18
  771. package/Source/Workers/createVectorTilePoints.js +3 -3
  772. package/Source/Workers/createVectorTilePolygons.js +11 -11
  773. package/Source/Workers/createVectorTilePolylines.js +7 -7
  774. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  775. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  776. package/Source/Workers/decodeDraco.js +23 -23
  777. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +3 -3
  778. package/Source/Workers/decodeI3S.js +53 -53
  779. package/Source/Workers/transcodeKTX2.js +9 -9
  780. package/Source/Workers/transferTypedArrayTest.js +1 -1
  781. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  782. package/index.d.ts +620 -136
  783. package/index.js +221 -205
  784. package/package.json +3 -3
  785. package/Build/Workers/chunk-2GEAGYUY.js +0 -1477
  786. package/Build/Workers/chunk-3WUV74WM.js +0 -1800
  787. package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
  788. package/Build/Workers/chunk-5KWHSZYL.js +0 -834
  789. package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
  790. package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
  791. package/Build/Workers/chunk-AA4GZKOT.js +0 -75
  792. package/Build/Workers/chunk-B75IEX2S.js +0 -390
  793. package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
  794. package/Build/Workers/chunk-BBDZYSZB.js +0 -287
  795. package/Build/Workers/chunk-C45MU4GZ.js +0 -220
  796. package/Build/Workers/chunk-CF7P7K7E.js +0 -684
  797. package/Build/Workers/chunk-D4K27X2M.js +0 -305
  798. package/Build/Workers/chunk-DKVHRNFY.js +0 -100
  799. package/Build/Workers/chunk-ELI4BUOT.js +0 -963
  800. package/Build/Workers/chunk-FQPSOOPH.js +0 -258
  801. package/Build/Workers/chunk-GNHZH7HP.js +0 -37
  802. package/Build/Workers/chunk-GWT64LKY.js +0 -171
  803. package/Build/Workers/chunk-HGEEOMSC.js +0 -157
  804. package/Build/Workers/chunk-IUROUBPA.js +0 -300
  805. package/Build/Workers/chunk-JNLWLSTP.js +0 -476
  806. package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
  807. package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
  808. package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
  809. package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
  810. package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
  811. package/Build/Workers/chunk-MMV6TO3P.js +0 -101
  812. package/Build/Workers/chunk-MSKXMXJI.js +0 -500
  813. package/Build/Workers/chunk-OAPA2RTG.js +0 -239
  814. package/Build/Workers/chunk-OE4MCOC7.js +0 -421
  815. package/Build/Workers/chunk-OJF4RTJG.js +0 -634
  816. package/Build/Workers/chunk-OXSI7N4C.js +0 -768
  817. package/Build/Workers/chunk-PYHLO636.js +0 -2857
  818. package/Build/Workers/chunk-QD4KM3GO.js +0 -138
  819. package/Build/Workers/chunk-QMLTCCYG.js +0 -55
  820. package/Build/Workers/chunk-QYQIVZBU.js +0 -117
  821. package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
  822. package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
  823. package/Build/Workers/chunk-RCK55EDX.js +0 -691
  824. package/Build/Workers/chunk-RHBWXX7C.js +0 -629
  825. package/Build/Workers/chunk-SAPFXU5X.js +0 -102
  826. package/Build/Workers/chunk-TBBFDFCS.js +0 -368
  827. package/Build/Workers/chunk-TGY6H6N6.js +0 -163
  828. package/Build/Workers/chunk-UOEUCKKU.js +0 -59
  829. package/Build/Workers/chunk-VFBNELXB.js +0 -353
  830. package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
  831. package/Build/Workers/chunk-WVSELU6O.js +0 -2716
  832. package/Build/Workers/chunk-X43SJLQL.js +0 -10364
  833. package/Build/Workers/chunk-XUOJCLOH.js +0 -511
  834. package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
  835. package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
  836. package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
  837. package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
  838. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
  839. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
  840. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
  841. package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
  842. package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
  843. package/Source/Shaders/OctahedralProjectionFS.js +0 -16
  844. package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
  845. package/Source/Shaders/OctahedralProjectionVS.js +0 -12
@@ -1,1075 +0,0 @@
1
- /**
2
- * @license
3
- * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 1.120
5
- *
6
- * Copyright 2011-2022 Cesium Contributors
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- *
20
- * Columbus View (Pat. Pend.)
21
- *
22
- * Portions licensed separately.
23
- * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24
- */
25
-
26
- import {
27
- EllipseGeometryLibrary_default
28
- } from "./chunk-D4K27X2M.js";
29
- import {
30
- GeometryInstance_default
31
- } from "./chunk-UOEUCKKU.js";
32
- import {
33
- GeometryPipeline_default
34
- } from "./chunk-PNFHVBSF.js";
35
- import {
36
- GeometryOffsetAttribute_default
37
- } from "./chunk-GNHZH7HP.js";
38
- import {
39
- VertexFormat_default
40
- } from "./chunk-LSSWVB2X.js";
41
- import {
42
- IndexDatatype_default
43
- } from "./chunk-EB7PNZTK.js";
44
- import {
45
- GeometryAttributes_default
46
- } from "./chunk-JYQNWIQQ.js";
47
- import {
48
- GeometryAttribute_default,
49
- Geometry_default,
50
- PrimitiveType_default
51
- } from "./chunk-IUROUBPA.js";
52
- import {
53
- BoundingSphere_default,
54
- GeographicProjection_default
55
- } from "./chunk-ELI4BUOT.js";
56
- import {
57
- Quaternion_default,
58
- Rectangle_default
59
- } from "./chunk-OXALEQPI.js";
60
- import {
61
- ComponentDatatype_default
62
- } from "./chunk-FQPSOOPH.js";
63
- import {
64
- Cartesian2_default,
65
- Cartesian3_default,
66
- Cartographic_default,
67
- Ellipsoid_default,
68
- Matrix3_default
69
- } from "./chunk-T6LPN7RI.js";
70
- import {
71
- Math_default
72
- } from "./chunk-R4OIEIPE.js";
73
- import {
74
- defaultValue_default
75
- } from "./chunk-BAVI3ZS2.js";
76
- import {
77
- Check_default,
78
- DeveloperError_default
79
- } from "./chunk-TGY6H6N6.js";
80
- import {
81
- defined_default
82
- } from "./chunk-N4QEHO3U.js";
83
-
84
- // packages/engine/Source/Core/EllipseGeometry.js
85
- var scratchCartesian1 = new Cartesian3_default();
86
- var scratchCartesian2 = new Cartesian3_default();
87
- var scratchCartesian3 = new Cartesian3_default();
88
- var scratchCartesian4 = new Cartesian3_default();
89
- var texCoordScratch = new Cartesian2_default();
90
- var textureMatrixScratch = new Matrix3_default();
91
- var tangentMatrixScratch = new Matrix3_default();
92
- var quaternionScratch = new Quaternion_default();
93
- var scratchNormal = new Cartesian3_default();
94
- var scratchTangent = new Cartesian3_default();
95
- var scratchBitangent = new Cartesian3_default();
96
- var scratchCartographic = new Cartographic_default();
97
- var projectedCenterScratch = new Cartesian3_default();
98
- var scratchMinTexCoord = new Cartesian2_default();
99
- var scratchMaxTexCoord = new Cartesian2_default();
100
- function computeTopBottomAttributes(positions, options, extrude) {
101
- const vertexFormat = options.vertexFormat;
102
- const center = options.center;
103
- const semiMajorAxis = options.semiMajorAxis;
104
- const semiMinorAxis = options.semiMinorAxis;
105
- const ellipsoid = options.ellipsoid;
106
- const stRotation = options.stRotation;
107
- const size = extrude ? positions.length / 3 * 2 : positions.length / 3;
108
- const shadowVolume = options.shadowVolume;
109
- const textureCoordinates = vertexFormat.st ? new Float32Array(size * 2) : void 0;
110
- const normals = vertexFormat.normal ? new Float32Array(size * 3) : void 0;
111
- const tangents = vertexFormat.tangent ? new Float32Array(size * 3) : void 0;
112
- const bitangents = vertexFormat.bitangent ? new Float32Array(size * 3) : void 0;
113
- const extrudeNormals = shadowVolume ? new Float32Array(size * 3) : void 0;
114
- let textureCoordIndex = 0;
115
- let normal = scratchNormal;
116
- let tangent = scratchTangent;
117
- let bitangent = scratchBitangent;
118
- const projection = new GeographicProjection_default(ellipsoid);
119
- const projectedCenter = projection.project(
120
- ellipsoid.cartesianToCartographic(center, scratchCartographic),
121
- projectedCenterScratch
122
- );
123
- const geodeticNormal = ellipsoid.scaleToGeodeticSurface(
124
- center,
125
- scratchCartesian1
126
- );
127
- ellipsoid.geodeticSurfaceNormal(geodeticNormal, geodeticNormal);
128
- let textureMatrix = textureMatrixScratch;
129
- let tangentMatrix = tangentMatrixScratch;
130
- if (stRotation !== 0) {
131
- let rotation = Quaternion_default.fromAxisAngle(
132
- geodeticNormal,
133
- stRotation,
134
- quaternionScratch
135
- );
136
- textureMatrix = Matrix3_default.fromQuaternion(rotation, textureMatrix);
137
- rotation = Quaternion_default.fromAxisAngle(
138
- geodeticNormal,
139
- -stRotation,
140
- quaternionScratch
141
- );
142
- tangentMatrix = Matrix3_default.fromQuaternion(rotation, tangentMatrix);
143
- } else {
144
- textureMatrix = Matrix3_default.clone(Matrix3_default.IDENTITY, textureMatrix);
145
- tangentMatrix = Matrix3_default.clone(Matrix3_default.IDENTITY, tangentMatrix);
146
- }
147
- const minTexCoord = Cartesian2_default.fromElements(
148
- Number.POSITIVE_INFINITY,
149
- Number.POSITIVE_INFINITY,
150
- scratchMinTexCoord
151
- );
152
- const maxTexCoord = Cartesian2_default.fromElements(
153
- Number.NEGATIVE_INFINITY,
154
- Number.NEGATIVE_INFINITY,
155
- scratchMaxTexCoord
156
- );
157
- let length = positions.length;
158
- const bottomOffset = extrude ? length : 0;
159
- const stOffset = bottomOffset / 3 * 2;
160
- for (let i = 0; i < length; i += 3) {
161
- const i1 = i + 1;
162
- const i2 = i + 2;
163
- const position = Cartesian3_default.fromArray(positions, i, scratchCartesian1);
164
- if (vertexFormat.st) {
165
- const rotatedPoint = Matrix3_default.multiplyByVector(
166
- textureMatrix,
167
- position,
168
- scratchCartesian2
169
- );
170
- const projectedPoint = projection.project(
171
- ellipsoid.cartesianToCartographic(rotatedPoint, scratchCartographic),
172
- scratchCartesian3
173
- );
174
- Cartesian3_default.subtract(projectedPoint, projectedCenter, projectedPoint);
175
- texCoordScratch.x = (projectedPoint.x + semiMajorAxis) / (2 * semiMajorAxis);
176
- texCoordScratch.y = (projectedPoint.y + semiMinorAxis) / (2 * semiMinorAxis);
177
- minTexCoord.x = Math.min(texCoordScratch.x, minTexCoord.x);
178
- minTexCoord.y = Math.min(texCoordScratch.y, minTexCoord.y);
179
- maxTexCoord.x = Math.max(texCoordScratch.x, maxTexCoord.x);
180
- maxTexCoord.y = Math.max(texCoordScratch.y, maxTexCoord.y);
181
- if (extrude) {
182
- textureCoordinates[textureCoordIndex + stOffset] = texCoordScratch.x;
183
- textureCoordinates[textureCoordIndex + 1 + stOffset] = texCoordScratch.y;
184
- }
185
- textureCoordinates[textureCoordIndex++] = texCoordScratch.x;
186
- textureCoordinates[textureCoordIndex++] = texCoordScratch.y;
187
- }
188
- if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent || shadowVolume) {
189
- normal = ellipsoid.geodeticSurfaceNormal(position, normal);
190
- if (shadowVolume) {
191
- extrudeNormals[i + bottomOffset] = -normal.x;
192
- extrudeNormals[i1 + bottomOffset] = -normal.y;
193
- extrudeNormals[i2 + bottomOffset] = -normal.z;
194
- }
195
- if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
196
- if (vertexFormat.tangent || vertexFormat.bitangent) {
197
- tangent = Cartesian3_default.normalize(
198
- Cartesian3_default.cross(Cartesian3_default.UNIT_Z, normal, tangent),
199
- tangent
200
- );
201
- Matrix3_default.multiplyByVector(tangentMatrix, tangent, tangent);
202
- }
203
- if (vertexFormat.normal) {
204
- normals[i] = normal.x;
205
- normals[i1] = normal.y;
206
- normals[i2] = normal.z;
207
- if (extrude) {
208
- normals[i + bottomOffset] = -normal.x;
209
- normals[i1 + bottomOffset] = -normal.y;
210
- normals[i2 + bottomOffset] = -normal.z;
211
- }
212
- }
213
- if (vertexFormat.tangent) {
214
- tangents[i] = tangent.x;
215
- tangents[i1] = tangent.y;
216
- tangents[i2] = tangent.z;
217
- if (extrude) {
218
- tangents[i + bottomOffset] = -tangent.x;
219
- tangents[i1 + bottomOffset] = -tangent.y;
220
- tangents[i2 + bottomOffset] = -tangent.z;
221
- }
222
- }
223
- if (vertexFormat.bitangent) {
224
- bitangent = Cartesian3_default.normalize(
225
- Cartesian3_default.cross(normal, tangent, bitangent),
226
- bitangent
227
- );
228
- bitangents[i] = bitangent.x;
229
- bitangents[i1] = bitangent.y;
230
- bitangents[i2] = bitangent.z;
231
- if (extrude) {
232
- bitangents[i + bottomOffset] = bitangent.x;
233
- bitangents[i1 + bottomOffset] = bitangent.y;
234
- bitangents[i2 + bottomOffset] = bitangent.z;
235
- }
236
- }
237
- }
238
- }
239
- }
240
- if (vertexFormat.st) {
241
- length = textureCoordinates.length;
242
- for (let k = 0; k < length; k += 2) {
243
- textureCoordinates[k] = (textureCoordinates[k] - minTexCoord.x) / (maxTexCoord.x - minTexCoord.x);
244
- textureCoordinates[k + 1] = (textureCoordinates[k + 1] - minTexCoord.y) / (maxTexCoord.y - minTexCoord.y);
245
- }
246
- }
247
- const attributes = new GeometryAttributes_default();
248
- if (vertexFormat.position) {
249
- const finalPositions = EllipseGeometryLibrary_default.raisePositionsToHeight(
250
- positions,
251
- options,
252
- extrude
253
- );
254
- attributes.position = new GeometryAttribute_default({
255
- componentDatatype: ComponentDatatype_default.DOUBLE,
256
- componentsPerAttribute: 3,
257
- values: finalPositions
258
- });
259
- }
260
- if (vertexFormat.st) {
261
- attributes.st = new GeometryAttribute_default({
262
- componentDatatype: ComponentDatatype_default.FLOAT,
263
- componentsPerAttribute: 2,
264
- values: textureCoordinates
265
- });
266
- }
267
- if (vertexFormat.normal) {
268
- attributes.normal = new GeometryAttribute_default({
269
- componentDatatype: ComponentDatatype_default.FLOAT,
270
- componentsPerAttribute: 3,
271
- values: normals
272
- });
273
- }
274
- if (vertexFormat.tangent) {
275
- attributes.tangent = new GeometryAttribute_default({
276
- componentDatatype: ComponentDatatype_default.FLOAT,
277
- componentsPerAttribute: 3,
278
- values: tangents
279
- });
280
- }
281
- if (vertexFormat.bitangent) {
282
- attributes.bitangent = new GeometryAttribute_default({
283
- componentDatatype: ComponentDatatype_default.FLOAT,
284
- componentsPerAttribute: 3,
285
- values: bitangents
286
- });
287
- }
288
- if (shadowVolume) {
289
- attributes.extrudeDirection = new GeometryAttribute_default({
290
- componentDatatype: ComponentDatatype_default.FLOAT,
291
- componentsPerAttribute: 3,
292
- values: extrudeNormals
293
- });
294
- }
295
- if (extrude && defined_default(options.offsetAttribute)) {
296
- let offsetAttribute = new Uint8Array(size);
297
- if (options.offsetAttribute === GeometryOffsetAttribute_default.TOP) {
298
- offsetAttribute = offsetAttribute.fill(1, 0, size / 2);
299
- } else {
300
- const offsetValue = options.offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
301
- offsetAttribute = offsetAttribute.fill(offsetValue);
302
- }
303
- attributes.applyOffset = new GeometryAttribute_default({
304
- componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
305
- componentsPerAttribute: 1,
306
- values: offsetAttribute
307
- });
308
- }
309
- return attributes;
310
- }
311
- function topIndices(numPts) {
312
- const indices = new Array(12 * (numPts * (numPts + 1)) - 6);
313
- let indicesIndex = 0;
314
- let prevIndex;
315
- let numInterior;
316
- let positionIndex;
317
- let i;
318
- let j;
319
- prevIndex = 0;
320
- positionIndex = 1;
321
- for (i = 0; i < 3; i++) {
322
- indices[indicesIndex++] = positionIndex++;
323
- indices[indicesIndex++] = prevIndex;
324
- indices[indicesIndex++] = positionIndex;
325
- }
326
- for (i = 2; i < numPts + 1; ++i) {
327
- positionIndex = i * (i + 1) - 1;
328
- prevIndex = (i - 1) * i - 1;
329
- indices[indicesIndex++] = positionIndex++;
330
- indices[indicesIndex++] = prevIndex;
331
- indices[indicesIndex++] = positionIndex;
332
- numInterior = 2 * i;
333
- for (j = 0; j < numInterior - 1; ++j) {
334
- indices[indicesIndex++] = positionIndex;
335
- indices[indicesIndex++] = prevIndex++;
336
- indices[indicesIndex++] = prevIndex;
337
- indices[indicesIndex++] = positionIndex++;
338
- indices[indicesIndex++] = prevIndex;
339
- indices[indicesIndex++] = positionIndex;
340
- }
341
- indices[indicesIndex++] = positionIndex++;
342
- indices[indicesIndex++] = prevIndex;
343
- indices[indicesIndex++] = positionIndex;
344
- }
345
- numInterior = numPts * 2;
346
- ++positionIndex;
347
- ++prevIndex;
348
- for (i = 0; i < numInterior - 1; ++i) {
349
- indices[indicesIndex++] = positionIndex;
350
- indices[indicesIndex++] = prevIndex++;
351
- indices[indicesIndex++] = prevIndex;
352
- indices[indicesIndex++] = positionIndex++;
353
- indices[indicesIndex++] = prevIndex;
354
- indices[indicesIndex++] = positionIndex;
355
- }
356
- indices[indicesIndex++] = positionIndex;
357
- indices[indicesIndex++] = prevIndex++;
358
- indices[indicesIndex++] = prevIndex;
359
- indices[indicesIndex++] = positionIndex++;
360
- indices[indicesIndex++] = prevIndex++;
361
- indices[indicesIndex++] = prevIndex;
362
- ++prevIndex;
363
- for (i = numPts - 1; i > 1; --i) {
364
- indices[indicesIndex++] = prevIndex++;
365
- indices[indicesIndex++] = prevIndex;
366
- indices[indicesIndex++] = positionIndex;
367
- numInterior = 2 * i;
368
- for (j = 0; j < numInterior - 1; ++j) {
369
- indices[indicesIndex++] = positionIndex;
370
- indices[indicesIndex++] = prevIndex++;
371
- indices[indicesIndex++] = prevIndex;
372
- indices[indicesIndex++] = positionIndex++;
373
- indices[indicesIndex++] = prevIndex;
374
- indices[indicesIndex++] = positionIndex;
375
- }
376
- indices[indicesIndex++] = prevIndex++;
377
- indices[indicesIndex++] = prevIndex++;
378
- indices[indicesIndex++] = positionIndex++;
379
- }
380
- for (i = 0; i < 3; i++) {
381
- indices[indicesIndex++] = prevIndex++;
382
- indices[indicesIndex++] = prevIndex;
383
- indices[indicesIndex++] = positionIndex;
384
- }
385
- return indices;
386
- }
387
- var boundingSphereCenter = new Cartesian3_default();
388
- function computeEllipse(options) {
389
- const center = options.center;
390
- boundingSphereCenter = Cartesian3_default.multiplyByScalar(
391
- options.ellipsoid.geodeticSurfaceNormal(center, boundingSphereCenter),
392
- options.height,
393
- boundingSphereCenter
394
- );
395
- boundingSphereCenter = Cartesian3_default.add(
396
- center,
397
- boundingSphereCenter,
398
- boundingSphereCenter
399
- );
400
- const boundingSphere = new BoundingSphere_default(
401
- boundingSphereCenter,
402
- options.semiMajorAxis
403
- );
404
- const cep = EllipseGeometryLibrary_default.computeEllipsePositions(
405
- options,
406
- true,
407
- false
408
- );
409
- const positions = cep.positions;
410
- const numPts = cep.numPts;
411
- const attributes = computeTopBottomAttributes(positions, options, false);
412
- let indices = topIndices(numPts);
413
- indices = IndexDatatype_default.createTypedArray(positions.length / 3, indices);
414
- return {
415
- boundingSphere,
416
- attributes,
417
- indices
418
- };
419
- }
420
- function computeWallAttributes(positions, options) {
421
- const vertexFormat = options.vertexFormat;
422
- const center = options.center;
423
- const semiMajorAxis = options.semiMajorAxis;
424
- const semiMinorAxis = options.semiMinorAxis;
425
- const ellipsoid = options.ellipsoid;
426
- const height = options.height;
427
- const extrudedHeight = options.extrudedHeight;
428
- const stRotation = options.stRotation;
429
- const size = positions.length / 3 * 2;
430
- const finalPositions = new Float64Array(size * 3);
431
- const textureCoordinates = vertexFormat.st ? new Float32Array(size * 2) : void 0;
432
- const normals = vertexFormat.normal ? new Float32Array(size * 3) : void 0;
433
- const tangents = vertexFormat.tangent ? new Float32Array(size * 3) : void 0;
434
- const bitangents = vertexFormat.bitangent ? new Float32Array(size * 3) : void 0;
435
- const shadowVolume = options.shadowVolume;
436
- const extrudeNormals = shadowVolume ? new Float32Array(size * 3) : void 0;
437
- let textureCoordIndex = 0;
438
- let normal = scratchNormal;
439
- let tangent = scratchTangent;
440
- let bitangent = scratchBitangent;
441
- const projection = new GeographicProjection_default(ellipsoid);
442
- const projectedCenter = projection.project(
443
- ellipsoid.cartesianToCartographic(center, scratchCartographic),
444
- projectedCenterScratch
445
- );
446
- const geodeticNormal = ellipsoid.scaleToGeodeticSurface(
447
- center,
448
- scratchCartesian1
449
- );
450
- ellipsoid.geodeticSurfaceNormal(geodeticNormal, geodeticNormal);
451
- const rotation = Quaternion_default.fromAxisAngle(
452
- geodeticNormal,
453
- stRotation,
454
- quaternionScratch
455
- );
456
- const textureMatrix = Matrix3_default.fromQuaternion(rotation, textureMatrixScratch);
457
- const minTexCoord = Cartesian2_default.fromElements(
458
- Number.POSITIVE_INFINITY,
459
- Number.POSITIVE_INFINITY,
460
- scratchMinTexCoord
461
- );
462
- const maxTexCoord = Cartesian2_default.fromElements(
463
- Number.NEGATIVE_INFINITY,
464
- Number.NEGATIVE_INFINITY,
465
- scratchMaxTexCoord
466
- );
467
- let length = positions.length;
468
- const stOffset = length / 3 * 2;
469
- for (let i = 0; i < length; i += 3) {
470
- const i1 = i + 1;
471
- const i2 = i + 2;
472
- let position = Cartesian3_default.fromArray(positions, i, scratchCartesian1);
473
- let extrudedPosition;
474
- if (vertexFormat.st) {
475
- const rotatedPoint = Matrix3_default.multiplyByVector(
476
- textureMatrix,
477
- position,
478
- scratchCartesian2
479
- );
480
- const projectedPoint = projection.project(
481
- ellipsoid.cartesianToCartographic(rotatedPoint, scratchCartographic),
482
- scratchCartesian3
483
- );
484
- Cartesian3_default.subtract(projectedPoint, projectedCenter, projectedPoint);
485
- texCoordScratch.x = (projectedPoint.x + semiMajorAxis) / (2 * semiMajorAxis);
486
- texCoordScratch.y = (projectedPoint.y + semiMinorAxis) / (2 * semiMinorAxis);
487
- minTexCoord.x = Math.min(texCoordScratch.x, minTexCoord.x);
488
- minTexCoord.y = Math.min(texCoordScratch.y, minTexCoord.y);
489
- maxTexCoord.x = Math.max(texCoordScratch.x, maxTexCoord.x);
490
- maxTexCoord.y = Math.max(texCoordScratch.y, maxTexCoord.y);
491
- textureCoordinates[textureCoordIndex + stOffset] = texCoordScratch.x;
492
- textureCoordinates[textureCoordIndex + 1 + stOffset] = texCoordScratch.y;
493
- textureCoordinates[textureCoordIndex++] = texCoordScratch.x;
494
- textureCoordinates[textureCoordIndex++] = texCoordScratch.y;
495
- }
496
- position = ellipsoid.scaleToGeodeticSurface(position, position);
497
- extrudedPosition = Cartesian3_default.clone(position, scratchCartesian2);
498
- normal = ellipsoid.geodeticSurfaceNormal(position, normal);
499
- if (shadowVolume) {
500
- extrudeNormals[i + length] = -normal.x;
501
- extrudeNormals[i1 + length] = -normal.y;
502
- extrudeNormals[i2 + length] = -normal.z;
503
- }
504
- let scaledNormal = Cartesian3_default.multiplyByScalar(
505
- normal,
506
- height,
507
- scratchCartesian4
508
- );
509
- position = Cartesian3_default.add(position, scaledNormal, position);
510
- scaledNormal = Cartesian3_default.multiplyByScalar(
511
- normal,
512
- extrudedHeight,
513
- scaledNormal
514
- );
515
- extrudedPosition = Cartesian3_default.add(
516
- extrudedPosition,
517
- scaledNormal,
518
- extrudedPosition
519
- );
520
- if (vertexFormat.position) {
521
- finalPositions[i + length] = extrudedPosition.x;
522
- finalPositions[i1 + length] = extrudedPosition.y;
523
- finalPositions[i2 + length] = extrudedPosition.z;
524
- finalPositions[i] = position.x;
525
- finalPositions[i1] = position.y;
526
- finalPositions[i2] = position.z;
527
- }
528
- if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
529
- bitangent = Cartesian3_default.clone(normal, bitangent);
530
- const next = Cartesian3_default.fromArray(
531
- positions,
532
- (i + 3) % length,
533
- scratchCartesian4
534
- );
535
- Cartesian3_default.subtract(next, position, next);
536
- const bottom = Cartesian3_default.subtract(
537
- extrudedPosition,
538
- position,
539
- scratchCartesian3
540
- );
541
- normal = Cartesian3_default.normalize(
542
- Cartesian3_default.cross(bottom, next, normal),
543
- normal
544
- );
545
- if (vertexFormat.normal) {
546
- normals[i] = normal.x;
547
- normals[i1] = normal.y;
548
- normals[i2] = normal.z;
549
- normals[i + length] = normal.x;
550
- normals[i1 + length] = normal.y;
551
- normals[i2 + length] = normal.z;
552
- }
553
- if (vertexFormat.tangent) {
554
- tangent = Cartesian3_default.normalize(
555
- Cartesian3_default.cross(bitangent, normal, tangent),
556
- tangent
557
- );
558
- tangents[i] = tangent.x;
559
- tangents[i1] = tangent.y;
560
- tangents[i2] = tangent.z;
561
- tangents[i + length] = tangent.x;
562
- tangents[i + 1 + length] = tangent.y;
563
- tangents[i + 2 + length] = tangent.z;
564
- }
565
- if (vertexFormat.bitangent) {
566
- bitangents[i] = bitangent.x;
567
- bitangents[i1] = bitangent.y;
568
- bitangents[i2] = bitangent.z;
569
- bitangents[i + length] = bitangent.x;
570
- bitangents[i1 + length] = bitangent.y;
571
- bitangents[i2 + length] = bitangent.z;
572
- }
573
- }
574
- }
575
- if (vertexFormat.st) {
576
- length = textureCoordinates.length;
577
- for (let k = 0; k < length; k += 2) {
578
- textureCoordinates[k] = (textureCoordinates[k] - minTexCoord.x) / (maxTexCoord.x - minTexCoord.x);
579
- textureCoordinates[k + 1] = (textureCoordinates[k + 1] - minTexCoord.y) / (maxTexCoord.y - minTexCoord.y);
580
- }
581
- }
582
- const attributes = new GeometryAttributes_default();
583
- if (vertexFormat.position) {
584
- attributes.position = new GeometryAttribute_default({
585
- componentDatatype: ComponentDatatype_default.DOUBLE,
586
- componentsPerAttribute: 3,
587
- values: finalPositions
588
- });
589
- }
590
- if (vertexFormat.st) {
591
- attributes.st = new GeometryAttribute_default({
592
- componentDatatype: ComponentDatatype_default.FLOAT,
593
- componentsPerAttribute: 2,
594
- values: textureCoordinates
595
- });
596
- }
597
- if (vertexFormat.normal) {
598
- attributes.normal = new GeometryAttribute_default({
599
- componentDatatype: ComponentDatatype_default.FLOAT,
600
- componentsPerAttribute: 3,
601
- values: normals
602
- });
603
- }
604
- if (vertexFormat.tangent) {
605
- attributes.tangent = new GeometryAttribute_default({
606
- componentDatatype: ComponentDatatype_default.FLOAT,
607
- componentsPerAttribute: 3,
608
- values: tangents
609
- });
610
- }
611
- if (vertexFormat.bitangent) {
612
- attributes.bitangent = new GeometryAttribute_default({
613
- componentDatatype: ComponentDatatype_default.FLOAT,
614
- componentsPerAttribute: 3,
615
- values: bitangents
616
- });
617
- }
618
- if (shadowVolume) {
619
- attributes.extrudeDirection = new GeometryAttribute_default({
620
- componentDatatype: ComponentDatatype_default.FLOAT,
621
- componentsPerAttribute: 3,
622
- values: extrudeNormals
623
- });
624
- }
625
- if (defined_default(options.offsetAttribute)) {
626
- let offsetAttribute = new Uint8Array(size);
627
- if (options.offsetAttribute === GeometryOffsetAttribute_default.TOP) {
628
- offsetAttribute = offsetAttribute.fill(1, 0, size / 2);
629
- } else {
630
- const offsetValue = options.offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
631
- offsetAttribute = offsetAttribute.fill(offsetValue);
632
- }
633
- attributes.applyOffset = new GeometryAttribute_default({
634
- componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
635
- componentsPerAttribute: 1,
636
- values: offsetAttribute
637
- });
638
- }
639
- return attributes;
640
- }
641
- function computeWallIndices(positions) {
642
- const length = positions.length / 3;
643
- const indices = IndexDatatype_default.createTypedArray(length, length * 6);
644
- let index = 0;
645
- for (let i = 0; i < length; i++) {
646
- const UL = i;
647
- const LL = i + length;
648
- const UR = (UL + 1) % length;
649
- const LR = UR + length;
650
- indices[index++] = UL;
651
- indices[index++] = LL;
652
- indices[index++] = UR;
653
- indices[index++] = UR;
654
- indices[index++] = LL;
655
- indices[index++] = LR;
656
- }
657
- return indices;
658
- }
659
- var topBoundingSphere = new BoundingSphere_default();
660
- var bottomBoundingSphere = new BoundingSphere_default();
661
- function computeExtrudedEllipse(options) {
662
- const center = options.center;
663
- const ellipsoid = options.ellipsoid;
664
- const semiMajorAxis = options.semiMajorAxis;
665
- let scaledNormal = Cartesian3_default.multiplyByScalar(
666
- ellipsoid.geodeticSurfaceNormal(center, scratchCartesian1),
667
- options.height,
668
- scratchCartesian1
669
- );
670
- topBoundingSphere.center = Cartesian3_default.add(
671
- center,
672
- scaledNormal,
673
- topBoundingSphere.center
674
- );
675
- topBoundingSphere.radius = semiMajorAxis;
676
- scaledNormal = Cartesian3_default.multiplyByScalar(
677
- ellipsoid.geodeticSurfaceNormal(center, scaledNormal),
678
- options.extrudedHeight,
679
- scaledNormal
680
- );
681
- bottomBoundingSphere.center = Cartesian3_default.add(
682
- center,
683
- scaledNormal,
684
- bottomBoundingSphere.center
685
- );
686
- bottomBoundingSphere.radius = semiMajorAxis;
687
- const cep = EllipseGeometryLibrary_default.computeEllipsePositions(
688
- options,
689
- true,
690
- true
691
- );
692
- const positions = cep.positions;
693
- const numPts = cep.numPts;
694
- const outerPositions = cep.outerPositions;
695
- const boundingSphere = BoundingSphere_default.union(
696
- topBoundingSphere,
697
- bottomBoundingSphere
698
- );
699
- const topBottomAttributes = computeTopBottomAttributes(
700
- positions,
701
- options,
702
- true
703
- );
704
- let indices = topIndices(numPts);
705
- const length = indices.length;
706
- indices.length = length * 2;
707
- const posLength = positions.length / 3;
708
- for (let i = 0; i < length; i += 3) {
709
- indices[i + length] = indices[i + 2] + posLength;
710
- indices[i + 1 + length] = indices[i + 1] + posLength;
711
- indices[i + 2 + length] = indices[i] + posLength;
712
- }
713
- const topBottomIndices = IndexDatatype_default.createTypedArray(
714
- posLength * 2 / 3,
715
- indices
716
- );
717
- const topBottomGeo = new Geometry_default({
718
- attributes: topBottomAttributes,
719
- indices: topBottomIndices,
720
- primitiveType: PrimitiveType_default.TRIANGLES
721
- });
722
- const wallAttributes = computeWallAttributes(outerPositions, options);
723
- indices = computeWallIndices(outerPositions);
724
- const wallIndices = IndexDatatype_default.createTypedArray(
725
- outerPositions.length * 2 / 3,
726
- indices
727
- );
728
- const wallGeo = new Geometry_default({
729
- attributes: wallAttributes,
730
- indices: wallIndices,
731
- primitiveType: PrimitiveType_default.TRIANGLES
732
- });
733
- const geo = GeometryPipeline_default.combineInstances([
734
- new GeometryInstance_default({
735
- geometry: topBottomGeo
736
- }),
737
- new GeometryInstance_default({
738
- geometry: wallGeo
739
- })
740
- ]);
741
- return {
742
- boundingSphere,
743
- attributes: geo[0].attributes,
744
- indices: geo[0].indices
745
- };
746
- }
747
- function computeRectangle(center, semiMajorAxis, semiMinorAxis, rotation, granularity, ellipsoid, result) {
748
- const cep = EllipseGeometryLibrary_default.computeEllipsePositions(
749
- {
750
- center,
751
- semiMajorAxis,
752
- semiMinorAxis,
753
- rotation,
754
- granularity
755
- },
756
- false,
757
- true
758
- );
759
- const positionsFlat = cep.outerPositions;
760
- const positionsCount = positionsFlat.length / 3;
761
- const positions = new Array(positionsCount);
762
- for (let i = 0; i < positionsCount; ++i) {
763
- positions[i] = Cartesian3_default.fromArray(positionsFlat, i * 3);
764
- }
765
- const rectangle = Rectangle_default.fromCartesianArray(positions, ellipsoid, result);
766
- if (rectangle.width > Math_default.PI) {
767
- rectangle.north = rectangle.north > 0 ? Math_default.PI_OVER_TWO - Math_default.EPSILON7 : rectangle.north;
768
- rectangle.south = rectangle.south < 0 ? Math_default.EPSILON7 - Math_default.PI_OVER_TWO : rectangle.south;
769
- rectangle.east = Math_default.PI;
770
- rectangle.west = -Math_default.PI;
771
- }
772
- return rectangle;
773
- }
774
- function EllipseGeometry(options) {
775
- options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
776
- const center = options.center;
777
- const ellipsoid = defaultValue_default(options.ellipsoid, Ellipsoid_default.default);
778
- const semiMajorAxis = options.semiMajorAxis;
779
- const semiMinorAxis = options.semiMinorAxis;
780
- const granularity = defaultValue_default(
781
- options.granularity,
782
- Math_default.RADIANS_PER_DEGREE
783
- );
784
- const vertexFormat = defaultValue_default(options.vertexFormat, VertexFormat_default.DEFAULT);
785
- Check_default.defined("options.center", center);
786
- Check_default.typeOf.number("options.semiMajorAxis", semiMajorAxis);
787
- Check_default.typeOf.number("options.semiMinorAxis", semiMinorAxis);
788
- if (semiMajorAxis < semiMinorAxis) {
789
- throw new DeveloperError_default(
790
- "semiMajorAxis must be greater than or equal to the semiMinorAxis."
791
- );
792
- }
793
- if (granularity <= 0) {
794
- throw new DeveloperError_default("granularity must be greater than zero.");
795
- }
796
- const height = defaultValue_default(options.height, 0);
797
- const extrudedHeight = defaultValue_default(options.extrudedHeight, height);
798
- this._center = Cartesian3_default.clone(center);
799
- this._semiMajorAxis = semiMajorAxis;
800
- this._semiMinorAxis = semiMinorAxis;
801
- this._ellipsoid = Ellipsoid_default.clone(ellipsoid);
802
- this._rotation = defaultValue_default(options.rotation, 0);
803
- this._stRotation = defaultValue_default(options.stRotation, 0);
804
- this._height = Math.max(extrudedHeight, height);
805
- this._granularity = granularity;
806
- this._vertexFormat = VertexFormat_default.clone(vertexFormat);
807
- this._extrudedHeight = Math.min(extrudedHeight, height);
808
- this._shadowVolume = defaultValue_default(options.shadowVolume, false);
809
- this._workerName = "createEllipseGeometry";
810
- this._offsetAttribute = options.offsetAttribute;
811
- this._rectangle = void 0;
812
- this._textureCoordinateRotationPoints = void 0;
813
- }
814
- EllipseGeometry.packedLength = Cartesian3_default.packedLength + Ellipsoid_default.packedLength + VertexFormat_default.packedLength + 9;
815
- EllipseGeometry.pack = function(value, array, startingIndex) {
816
- Check_default.defined("value", value);
817
- Check_default.defined("array", array);
818
- startingIndex = defaultValue_default(startingIndex, 0);
819
- Cartesian3_default.pack(value._center, array, startingIndex);
820
- startingIndex += Cartesian3_default.packedLength;
821
- Ellipsoid_default.pack(value._ellipsoid, array, startingIndex);
822
- startingIndex += Ellipsoid_default.packedLength;
823
- VertexFormat_default.pack(value._vertexFormat, array, startingIndex);
824
- startingIndex += VertexFormat_default.packedLength;
825
- array[startingIndex++] = value._semiMajorAxis;
826
- array[startingIndex++] = value._semiMinorAxis;
827
- array[startingIndex++] = value._rotation;
828
- array[startingIndex++] = value._stRotation;
829
- array[startingIndex++] = value._height;
830
- array[startingIndex++] = value._granularity;
831
- array[startingIndex++] = value._extrudedHeight;
832
- array[startingIndex++] = value._shadowVolume ? 1 : 0;
833
- array[startingIndex] = defaultValue_default(value._offsetAttribute, -1);
834
- return array;
835
- };
836
- var scratchCenter = new Cartesian3_default();
837
- var scratchEllipsoid = new Ellipsoid_default();
838
- var scratchVertexFormat = new VertexFormat_default();
839
- var scratchOptions = {
840
- center: scratchCenter,
841
- ellipsoid: scratchEllipsoid,
842
- vertexFormat: scratchVertexFormat,
843
- semiMajorAxis: void 0,
844
- semiMinorAxis: void 0,
845
- rotation: void 0,
846
- stRotation: void 0,
847
- height: void 0,
848
- granularity: void 0,
849
- extrudedHeight: void 0,
850
- shadowVolume: void 0,
851
- offsetAttribute: void 0
852
- };
853
- EllipseGeometry.unpack = function(array, startingIndex, result) {
854
- Check_default.defined("array", array);
855
- startingIndex = defaultValue_default(startingIndex, 0);
856
- const center = Cartesian3_default.unpack(array, startingIndex, scratchCenter);
857
- startingIndex += Cartesian3_default.packedLength;
858
- const ellipsoid = Ellipsoid_default.unpack(array, startingIndex, scratchEllipsoid);
859
- startingIndex += Ellipsoid_default.packedLength;
860
- const vertexFormat = VertexFormat_default.unpack(
861
- array,
862
- startingIndex,
863
- scratchVertexFormat
864
- );
865
- startingIndex += VertexFormat_default.packedLength;
866
- const semiMajorAxis = array[startingIndex++];
867
- const semiMinorAxis = array[startingIndex++];
868
- const rotation = array[startingIndex++];
869
- const stRotation = array[startingIndex++];
870
- const height = array[startingIndex++];
871
- const granularity = array[startingIndex++];
872
- const extrudedHeight = array[startingIndex++];
873
- const shadowVolume = array[startingIndex++] === 1;
874
- const offsetAttribute = array[startingIndex];
875
- if (!defined_default(result)) {
876
- scratchOptions.height = height;
877
- scratchOptions.extrudedHeight = extrudedHeight;
878
- scratchOptions.granularity = granularity;
879
- scratchOptions.stRotation = stRotation;
880
- scratchOptions.rotation = rotation;
881
- scratchOptions.semiMajorAxis = semiMajorAxis;
882
- scratchOptions.semiMinorAxis = semiMinorAxis;
883
- scratchOptions.shadowVolume = shadowVolume;
884
- scratchOptions.offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
885
- return new EllipseGeometry(scratchOptions);
886
- }
887
- result._center = Cartesian3_default.clone(center, result._center);
888
- result._ellipsoid = Ellipsoid_default.clone(ellipsoid, result._ellipsoid);
889
- result._vertexFormat = VertexFormat_default.clone(vertexFormat, result._vertexFormat);
890
- result._semiMajorAxis = semiMajorAxis;
891
- result._semiMinorAxis = semiMinorAxis;
892
- result._rotation = rotation;
893
- result._stRotation = stRotation;
894
- result._height = height;
895
- result._granularity = granularity;
896
- result._extrudedHeight = extrudedHeight;
897
- result._shadowVolume = shadowVolume;
898
- result._offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
899
- return result;
900
- };
901
- EllipseGeometry.computeRectangle = function(options, result) {
902
- options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
903
- const center = options.center;
904
- const ellipsoid = defaultValue_default(options.ellipsoid, Ellipsoid_default.default);
905
- const semiMajorAxis = options.semiMajorAxis;
906
- const semiMinorAxis = options.semiMinorAxis;
907
- const granularity = defaultValue_default(
908
- options.granularity,
909
- Math_default.RADIANS_PER_DEGREE
910
- );
911
- const rotation = defaultValue_default(options.rotation, 0);
912
- Check_default.defined("options.center", center);
913
- Check_default.typeOf.number("options.semiMajorAxis", semiMajorAxis);
914
- Check_default.typeOf.number("options.semiMinorAxis", semiMinorAxis);
915
- if (semiMajorAxis < semiMinorAxis) {
916
- throw new DeveloperError_default(
917
- "semiMajorAxis must be greater than or equal to the semiMinorAxis."
918
- );
919
- }
920
- if (granularity <= 0) {
921
- throw new DeveloperError_default("granularity must be greater than zero.");
922
- }
923
- return computeRectangle(
924
- center,
925
- semiMajorAxis,
926
- semiMinorAxis,
927
- rotation,
928
- granularity,
929
- ellipsoid,
930
- result
931
- );
932
- };
933
- EllipseGeometry.createGeometry = function(ellipseGeometry) {
934
- if (ellipseGeometry._semiMajorAxis <= 0 || ellipseGeometry._semiMinorAxis <= 0) {
935
- return;
936
- }
937
- const height = ellipseGeometry._height;
938
- const extrudedHeight = ellipseGeometry._extrudedHeight;
939
- const extrude = !Math_default.equalsEpsilon(
940
- height,
941
- extrudedHeight,
942
- 0,
943
- Math_default.EPSILON2
944
- );
945
- ellipseGeometry._center = ellipseGeometry._ellipsoid.scaleToGeodeticSurface(
946
- ellipseGeometry._center,
947
- ellipseGeometry._center
948
- );
949
- const options = {
950
- center: ellipseGeometry._center,
951
- semiMajorAxis: ellipseGeometry._semiMajorAxis,
952
- semiMinorAxis: ellipseGeometry._semiMinorAxis,
953
- ellipsoid: ellipseGeometry._ellipsoid,
954
- rotation: ellipseGeometry._rotation,
955
- height,
956
- granularity: ellipseGeometry._granularity,
957
- vertexFormat: ellipseGeometry._vertexFormat,
958
- stRotation: ellipseGeometry._stRotation
959
- };
960
- let geometry;
961
- if (extrude) {
962
- options.extrudedHeight = extrudedHeight;
963
- options.shadowVolume = ellipseGeometry._shadowVolume;
964
- options.offsetAttribute = ellipseGeometry._offsetAttribute;
965
- geometry = computeExtrudedEllipse(options);
966
- } else {
967
- geometry = computeEllipse(options);
968
- if (defined_default(ellipseGeometry._offsetAttribute)) {
969
- const length = geometry.attributes.position.values.length;
970
- const offsetValue = ellipseGeometry._offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
971
- const applyOffset = new Uint8Array(length / 3).fill(offsetValue);
972
- geometry.attributes.applyOffset = new GeometryAttribute_default({
973
- componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
974
- componentsPerAttribute: 1,
975
- values: applyOffset
976
- });
977
- }
978
- }
979
- return new Geometry_default({
980
- attributes: geometry.attributes,
981
- indices: geometry.indices,
982
- primitiveType: PrimitiveType_default.TRIANGLES,
983
- boundingSphere: geometry.boundingSphere,
984
- offsetAttribute: ellipseGeometry._offsetAttribute
985
- });
986
- };
987
- EllipseGeometry.createShadowVolume = function(ellipseGeometry, minHeightFunc, maxHeightFunc) {
988
- const granularity = ellipseGeometry._granularity;
989
- const ellipsoid = ellipseGeometry._ellipsoid;
990
- const minHeight = minHeightFunc(granularity, ellipsoid);
991
- const maxHeight = maxHeightFunc(granularity, ellipsoid);
992
- return new EllipseGeometry({
993
- center: ellipseGeometry._center,
994
- semiMajorAxis: ellipseGeometry._semiMajorAxis,
995
- semiMinorAxis: ellipseGeometry._semiMinorAxis,
996
- ellipsoid,
997
- rotation: ellipseGeometry._rotation,
998
- stRotation: ellipseGeometry._stRotation,
999
- granularity,
1000
- extrudedHeight: minHeight,
1001
- height: maxHeight,
1002
- vertexFormat: VertexFormat_default.POSITION_ONLY,
1003
- shadowVolume: true
1004
- });
1005
- };
1006
- function textureCoordinateRotationPoints(ellipseGeometry) {
1007
- const stRotation = -ellipseGeometry._stRotation;
1008
- if (stRotation === 0) {
1009
- return [0, 0, 0, 1, 1, 0];
1010
- }
1011
- const cep = EllipseGeometryLibrary_default.computeEllipsePositions(
1012
- {
1013
- center: ellipseGeometry._center,
1014
- semiMajorAxis: ellipseGeometry._semiMajorAxis,
1015
- semiMinorAxis: ellipseGeometry._semiMinorAxis,
1016
- rotation: ellipseGeometry._rotation,
1017
- granularity: ellipseGeometry._granularity
1018
- },
1019
- false,
1020
- true
1021
- );
1022
- const positionsFlat = cep.outerPositions;
1023
- const positionsCount = positionsFlat.length / 3;
1024
- const positions = new Array(positionsCount);
1025
- for (let i = 0; i < positionsCount; ++i) {
1026
- positions[i] = Cartesian3_default.fromArray(positionsFlat, i * 3);
1027
- }
1028
- const ellipsoid = ellipseGeometry._ellipsoid;
1029
- const boundingRectangle = ellipseGeometry.rectangle;
1030
- return Geometry_default._textureCoordinateRotationPoints(
1031
- positions,
1032
- stRotation,
1033
- ellipsoid,
1034
- boundingRectangle
1035
- );
1036
- }
1037
- Object.defineProperties(EllipseGeometry.prototype, {
1038
- /**
1039
- * @private
1040
- */
1041
- rectangle: {
1042
- get: function() {
1043
- if (!defined_default(this._rectangle)) {
1044
- this._rectangle = computeRectangle(
1045
- this._center,
1046
- this._semiMajorAxis,
1047
- this._semiMinorAxis,
1048
- this._rotation,
1049
- this._granularity,
1050
- this._ellipsoid
1051
- );
1052
- }
1053
- return this._rectangle;
1054
- }
1055
- },
1056
- /**
1057
- * For remapping texture coordinates when rendering EllipseGeometries as GroundPrimitives.
1058
- * @private
1059
- */
1060
- textureCoordinateRotationPoints: {
1061
- get: function() {
1062
- if (!defined_default(this._textureCoordinateRotationPoints)) {
1063
- this._textureCoordinateRotationPoints = textureCoordinateRotationPoints(
1064
- this
1065
- );
1066
- }
1067
- return this._textureCoordinateRotationPoints;
1068
- }
1069
- }
1070
- });
1071
- var EllipseGeometry_default = EllipseGeometry;
1072
-
1073
- export {
1074
- EllipseGeometry_default
1075
- };