@cesium/engine 23.0.1 → 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/Build/Workers/{chunk-ZEMJQKHD.js → chunk-35H3UBIO.js} +13 -12
  2. package/Build/Workers/{chunk-PQTSXJBJ.js → chunk-3LSD7OOA.js} +16 -16
  3. package/Build/Workers/{chunk-PUO7BYDY.js → chunk-3RFFPH4M.js} +1 -1
  4. package/Build/Workers/{chunk-PBECJOWF.js → chunk-3TKLDHV3.js} +2 -2
  5. package/Build/Workers/{chunk-TMCTZ5E3.js → chunk-3VDDRF2E.js} +14 -14
  6. package/Build/Workers/{chunk-FKU77FNM.js → chunk-3XY3MVPG.js} +4 -4
  7. package/Build/Workers/{chunk-2OBWHTIC.js → chunk-4GF4MVPY.js} +7 -7
  8. package/Build/Workers/{chunk-JUKGMJX7.js → chunk-4MTRQFJP.js} +3 -2
  9. package/Build/Workers/{chunk-66OWUDO7.js → chunk-4QQXGTCE.js} +8 -8
  10. package/Build/Workers/{chunk-ALTCIHRH.js → chunk-4XXHJI6Y.js} +17 -17
  11. package/Build/Workers/{chunk-K7UTK4OM.js → chunk-5T6QQAJW.js} +3 -2
  12. package/Build/Workers/{chunk-IJ3SUMK3.js → chunk-6SDGQI27.js} +3 -2
  13. package/Build/Workers/{chunk-FXSRA5UG.js → chunk-77RL3MBD.js} +6 -5
  14. package/Build/Workers/{chunk-G6MJ3ZW3.js → chunk-7LSFAEWF.js} +12 -11
  15. package/Build/Workers/{chunk-C6HHBKT5.js → chunk-A7A433MD.js} +5 -5
  16. package/Build/Workers/{chunk-PGZ3B6CB.js → chunk-A7ZBMVFS.js} +14 -14
  17. package/Build/Workers/{chunk-OZYB3AOR.js → chunk-ACFFCHHZ.js} +11 -11
  18. package/Build/Workers/{chunk-DNMASBMH.js → chunk-AEAVLYPS.js} +2 -2
  19. package/Build/Workers/{chunk-VPWYHFQA.js → chunk-AWFZHD2B.js} +4 -4
  20. package/Build/Workers/{chunk-TFPG3ZKW.js → chunk-BTX2NL3P.js} +59 -46
  21. package/Build/Workers/{chunk-TNXOPEIG.js → chunk-BVAIWR7O.js} +12 -12
  22. package/Build/Workers/chunk-CKQP3DSS.js +973 -0
  23. package/Build/Workers/{chunk-N6HRZLS6.js → chunk-CZ23Y3RM.js} +2 -2
  24. package/Build/Workers/{chunk-EIC3VAOZ.js → chunk-DFEI5MAV.js} +7 -7
  25. package/Build/Workers/{chunk-BTP3634E.js → chunk-DH26SNAB.js} +4 -1
  26. package/Build/Workers/{chunk-TXYQNXNW.js → chunk-DYT5NR6P.js} +3 -3
  27. package/Build/Workers/{chunk-O67UP5YO.js → chunk-EZARA5FJ.js} +13 -13
  28. package/Build/Workers/{chunk-YSJRB2UZ.js → chunk-FIBS5S7R.js} +2 -2
  29. package/Build/Workers/{chunk-2M7DKGLW.js → chunk-FVLVVOBQ.js} +10 -10
  30. package/Build/Workers/{chunk-B2VA6IEL.js → chunk-GL7DNVUS.js} +5 -5
  31. package/Build/Workers/{chunk-77DJBHMI.js → chunk-GPIGURCG.js} +59 -32
  32. package/Build/Workers/{chunk-QPXGGVHC.js → chunk-H2A4USJR.js} +10 -10
  33. package/Build/Workers/chunk-HSVQATK2.js +147 -0
  34. package/Build/Workers/{chunk-HXEPZWJN.js → chunk-HVMG6AG4.js} +11 -10
  35. package/Build/Workers/{chunk-H3TVRJLY.js → chunk-I3A6DXYZ.js} +4 -4
  36. package/Build/Workers/{chunk-UEWYSOFD.js → chunk-ITD2IN7N.js} +2 -2
  37. package/Build/Workers/{chunk-CYOPNGPX.js → chunk-J3OFS2RD.js} +12 -12
  38. package/Build/Workers/{chunk-RZX6LOG6.js → chunk-J647NNZW.js} +6 -6
  39. package/Build/Workers/{chunk-GLCPE2BJ.js → chunk-J7KQEKPK.js} +13 -13
  40. package/Build/Workers/{chunk-XPMXRJDD.js → chunk-K6NFIRFB.js} +5 -5
  41. package/Build/Workers/{chunk-CID5SY7L.js → chunk-LH5SF3XV.js} +7 -6
  42. package/Build/Workers/{chunk-UOQB7XQI.js → chunk-ND3NTTOF.js} +713 -435
  43. package/Build/Workers/chunk-QO2CGXMP.js +2342 -0
  44. package/Build/Workers/chunk-QSDY4NS7.js +1287 -0
  45. package/Build/Workers/chunk-QXNQQYPV.js +3201 -0
  46. package/Build/Workers/{chunk-CJ7ZDY77.js → chunk-ST2UWDUU.js} +5 -5
  47. package/Build/Workers/{chunk-YDR5LX5Z.js → chunk-TA777BGS.js} +3 -2
  48. package/Build/Workers/{chunk-U4SWB6TI.js → chunk-TAI4HLII.js} +4 -4
  49. package/Build/Workers/{chunk-VX774SWE.js → chunk-URUCCIPS.js} +6 -6
  50. package/Build/Workers/{chunk-MNSNOONX.js → chunk-VQKLRBIK.js} +7 -7
  51. package/Build/Workers/{chunk-CVAAIRNP.js → chunk-WC57YYBN.js} +2 -2
  52. package/Build/Workers/{chunk-QNABVTTP.js → chunk-WN6P5UDH.js} +12 -12
  53. package/Build/Workers/{chunk-CNLXMOPM.js → chunk-WNN5D4W3.js} +12 -11
  54. package/Build/Workers/{chunk-4JJQRZYL.js → chunk-WTQGE7Q6.js} +17 -17
  55. package/Build/Workers/{chunk-FCJQO4NC.js → chunk-WUBKZFF6.js} +2213 -1349
  56. package/Build/Workers/{chunk-3UQ2YMPP.js → chunk-ZAPOS52G.js} +12 -10
  57. package/Build/Workers/{chunk-LHFC4R7Z.js → chunk-ZCCIIBZT.js} +6 -6
  58. package/Build/Workers/combineGeometry.js +24 -24
  59. package/Build/Workers/createBoxGeometry.js +18 -18
  60. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  61. package/Build/Workers/createCircleGeometry.js +26 -26
  62. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  63. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  64. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  65. package/Build/Workers/createCorridorGeometry.js +29 -29
  66. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  67. package/Build/Workers/createCylinderGeometry.js +20 -20
  68. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  69. package/Build/Workers/createEllipseGeometry.js +26 -26
  70. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  71. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  73. package/Build/Workers/createFrustumGeometry.js +18 -18
  74. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  75. package/Build/Workers/createGeometry.js +24 -24
  76. package/Build/Workers/createGroundPolylineGeometry.js +175 -118
  77. package/Build/Workers/createPlaneGeometry.js +16 -16
  78. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  79. package/Build/Workers/createPolygonGeometry.js +32 -32
  80. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  81. package/Build/Workers/createPolylineGeometry.js +25 -25
  82. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  83. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  84. package/Build/Workers/createRectangleGeometry.js +27 -27
  85. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  86. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  87. package/Build/Workers/createSphereGeometry.js +19 -19
  88. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  89. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  90. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  91. package/Build/Workers/createVectorTileGeometries.js +24 -24
  92. package/Build/Workers/createVectorTilePoints.js +13 -13
  93. package/Build/Workers/createVectorTilePolygons.js +22 -22
  94. package/Build/Workers/createVectorTilePolylines.js +14 -14
  95. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  96. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  97. package/Build/Workers/createVerticesFromHeightmap.js +24 -23
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +25 -25
  100. package/Build/Workers/createWallOutlineGeometry.js +24 -24
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +12 -12
  104. package/Build/Workers/gaussianSplatSorter.js +4 -4
  105. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  106. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  107. package/Build/Workers/transcodeKTX2.js +12 -9
  108. package/Build/Workers/transferTypedArrayTest.js +1 -1
  109. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  110. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  111. package/Source/Core/ArcType.js +6 -1
  112. package/Source/Core/ArticulationStageType.js +5 -1
  113. package/Source/Core/AssociativeArray.js +100 -94
  114. package/Source/Core/BoundingSphere.js +1296 -1300
  115. package/Source/Core/Cartesian2.js +7 -5
  116. package/Source/Core/Cartesian3.js +9 -8
  117. package/Source/Core/Cartesian4.js +8 -6
  118. package/Source/Core/Cartographic.js +257 -249
  119. package/Source/Core/ClockRange.js +6 -1
  120. package/Source/Core/ClockStep.js +6 -1
  121. package/Source/Core/Color.js +846 -835
  122. package/Source/Core/ComponentDatatype.js +4 -1
  123. package/Source/Core/CornerType.js +6 -1
  124. package/Source/Core/Credit.js +121 -124
  125. package/Source/Core/DeveloperError.js +2 -1
  126. package/Source/Core/Ellipsoid.js +637 -660
  127. package/Source/Core/ExtrapolationType.js +6 -1
  128. package/Source/Core/GeocodeType.js +6 -1
  129. package/Source/Core/GeographicProjection.js +74 -74
  130. package/Source/Core/GeographicTilingScheme.js +179 -198
  131. package/Source/Core/GeometryOffsetAttribute.js +7 -1
  132. package/Source/Core/GeometryType.js +7 -1
  133. package/Source/Core/HeightmapEncoding.js +6 -1
  134. package/Source/Core/ITwinPlatform.js +1 -0
  135. package/Source/Core/Iau2006XysData.js +24 -13
  136. package/Source/Core/IndexDatatype.js +3 -1
  137. package/Source/Core/InterpolationType.js +5 -1
  138. package/Source/Core/Intersect.js +6 -1
  139. package/Source/Core/Ion.js +1 -1
  140. package/Source/Core/IonGeocodeProviderType.js +5 -1
  141. package/Source/Core/JulianDate.js +850 -848
  142. package/Source/Core/KeyboardEventModifier.js +6 -1
  143. package/Source/Core/MapProjection.js +39 -44
  144. package/Source/Core/Matrix2.js +906 -893
  145. package/Source/Core/Matrix3.js +1643 -1575
  146. package/Source/Core/Matrix4.js +2903 -2872
  147. package/Source/Core/PixelFormat.js +3 -1
  148. package/Source/Core/PrimitiveType.js +11 -1
  149. package/Source/Core/Ray.js +62 -60
  150. package/Source/Core/Rectangle.js +913 -904
  151. package/Source/Core/ReferenceFrame.js +6 -1
  152. package/Source/Core/RequestScheduler.js +8 -3
  153. package/Source/Core/RequestState.js +6 -1
  154. package/Source/Core/RequestType.js +6 -1
  155. package/Source/Core/S2Cell.js +2 -2
  156. package/Source/Core/ScreenSpaceEventType.js +6 -1
  157. package/Source/Core/TerrainMesh.js +10 -1
  158. package/Source/Core/TerrainPicker.js +1 -0
  159. package/Source/Core/TerrainQuantization.js +6 -1
  160. package/Source/Core/TilingScheme.js +100 -98
  161. package/Source/Core/TimeConstants.js +6 -1
  162. package/Source/Core/TimeStandard.js +6 -1
  163. package/Source/Core/TrackingReferenceFrame.js +6 -1
  164. package/Source/Core/Visibility.js +6 -1
  165. package/Source/Core/VulkanConstants.js +6 -1
  166. package/Source/Core/WallGeometry.js +1 -1
  167. package/Source/Core/WallOutlineGeometry.js +1 -1
  168. package/Source/Core/WebGLConstants.js +6 -1
  169. package/Source/Core/WebMercatorProjection.js +108 -109
  170. package/Source/Core/WebMercatorTilingScheme.js +246 -242
  171. package/Source/Core/WindingOrder.js +3 -1
  172. package/Source/Core/assert.js +27 -0
  173. package/Source/Core/globalTypes.js +4 -0
  174. package/Source/DataSources/CzmlDataSource.js +9 -0
  175. package/Source/DataSources/PathGraphics.js +13 -0
  176. package/Source/DataSources/PathVisualizer.js +330 -18
  177. package/Source/DataSources/StaticGeometryColorBatch.js +7 -2
  178. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +7 -2
  179. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +4 -1
  180. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +4 -1
  181. package/Source/DataSources/StripeOrientation.js +6 -1
  182. package/Source/Renderer/BufferUsage.js +20 -9
  183. package/Source/Renderer/Context.js +2 -29
  184. package/Source/Renderer/DrawCommand.js +435 -403
  185. package/Source/Renderer/MipmapHint.js +5 -1
  186. package/Source/Renderer/Pass.js +7 -1
  187. package/Source/Renderer/PickId.js +44 -0
  188. package/Source/Renderer/PixelDatatype.js +3 -1
  189. package/Source/Renderer/RenderState.js +2 -2
  190. package/Source/Renderer/RenderbufferFormat.js +5 -1
  191. package/Source/Renderer/ShaderDestination.js +4 -1
  192. package/Source/Renderer/TextureMagnificationFilter.js +3 -1
  193. package/Source/Renderer/TextureMinificationFilter.js +3 -1
  194. package/Source/Renderer/TextureWrap.js +5 -1
  195. package/Source/Renderer/VertexArray.js +80 -0
  196. package/Source/Scene/AlphaMode.js +5 -1
  197. package/Source/Scene/ArcGisBaseMapType.js +6 -1
  198. package/Source/Scene/ArcGisMapService.js +1 -1
  199. package/Source/Scene/AttributeType.js +3 -1
  200. package/Source/Scene/Axis.js +3 -1
  201. package/Source/Scene/BillboardCollection.js +65 -364
  202. package/Source/Scene/BingMapsStyle.js +6 -1
  203. package/Source/Scene/BlendEquation.js +6 -1
  204. package/Source/Scene/BlendFunction.js +6 -1
  205. package/Source/Scene/BlendOption.js +6 -1
  206. package/Source/Scene/BlendingState.js +6 -1
  207. package/Source/Scene/BufferLoader.js +0 -2
  208. package/Source/Scene/BufferPoint.js +148 -0
  209. package/Source/Scene/BufferPointCollection.js +138 -0
  210. package/Source/Scene/BufferPointMaterial.js +95 -0
  211. package/Source/Scene/BufferPolygon.js +516 -0
  212. package/Source/Scene/BufferPolygonCollection.js +370 -0
  213. package/Source/Scene/BufferPolygonMaterial.js +41 -0
  214. package/Source/Scene/BufferPolyline.js +185 -0
  215. package/Source/Scene/BufferPolylineCollection.js +138 -0
  216. package/Source/Scene/BufferPolylineMaterial.js +93 -0
  217. package/Source/Scene/BufferPrimitive.js +347 -0
  218. package/Source/Scene/BufferPrimitiveCollection.js +818 -0
  219. package/Source/Scene/BufferPrimitiveMaterial.js +140 -0
  220. package/Source/Scene/CameraEventType.js +6 -1
  221. package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
  222. package/Source/Scene/Cesium3DTileContent.js +5 -1
  223. package/Source/Scene/Cesium3DTileContentFactory.js +9 -0
  224. package/Source/Scene/Cesium3DTileContentState.js +6 -1
  225. package/Source/Scene/Cesium3DTileContentType.js +3 -1
  226. package/Source/Scene/Cesium3DTileFeature.js +289 -306
  227. package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
  228. package/Source/Scene/Cesium3DTilePass.js +5 -1
  229. package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
  230. package/Source/Scene/Cesium3DTileRefine.js +6 -1
  231. package/Source/Scene/Cesium3DTileStyle.js +22 -0
  232. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  233. package/Source/Scene/Cesium3DTileset.js +2 -1
  234. package/Source/Scene/ClassificationType.js +3 -1
  235. package/Source/Scene/ClippingPolygonCollection.js +270 -101
  236. package/Source/Scene/CloudType.js +3 -1
  237. package/Source/Scene/ColorBlendMode.js +4 -1
  238. package/Source/Scene/CubeMapPanorama.js +4 -4
  239. package/Source/Scene/CullFace.js +6 -1
  240. package/Source/Scene/DepthFunction.js +6 -1
  241. package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
  242. package/Source/Scene/EquirectangularPanorama.js +1 -0
  243. package/Source/Scene/ExpressionNodeType.js +6 -1
  244. package/Source/Scene/GaussianSplat3DTileContent.js +40 -46
  245. package/Source/Scene/GaussianSplatPrimitive.js +413 -70
  246. package/Source/Scene/GetFeatureInfoFormat.js +3 -3
  247. package/Source/Scene/GltfBufferViewLoader.js +0 -2
  248. package/Source/Scene/GltfDracoLoader.js +0 -2
  249. package/Source/Scene/GltfImageLoader.js +0 -3
  250. package/Source/Scene/GltfIndexBufferLoader.js +0 -4
  251. package/Source/Scene/GltfJsonLoader.js +0 -2
  252. package/Source/Scene/GltfLoader.js +215 -39
  253. package/Source/Scene/GltfLoaderUtil.js +14 -0
  254. package/Source/Scene/GltfSpzLoader.js +109 -2
  255. package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
  256. package/Source/Scene/GltfTextureLoader.js +0 -2
  257. package/Source/Scene/GltfVertexBufferLoader.js +0 -4
  258. package/Source/Scene/HeightReference.js +5 -1
  259. package/Source/Scene/HorizontalOrigin.js +6 -1
  260. package/Source/Scene/ITwinData.js +1 -0
  261. package/Source/Scene/ImageryProvider.js +1 -1
  262. package/Source/Scene/ImageryState.js +6 -1
  263. package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
  264. package/Source/Scene/InstanceAttributeSemantic.js +3 -1
  265. package/Source/Scene/IonWorldImageryStyle.js +6 -1
  266. package/Source/Scene/JobType.js +6 -1
  267. package/Source/Scene/Label.js +32 -0
  268. package/Source/Scene/LabelCollection.js +14 -13
  269. package/Source/Scene/LabelStyle.js +6 -1
  270. package/Source/Scene/MapMode2D.js +6 -1
  271. package/Source/Scene/Material.js +2 -0
  272. package/Source/Scene/Megatexture.js +1 -0
  273. package/Source/Scene/MetadataClassProperty.js +24 -10
  274. package/Source/Scene/MetadataComponentType.js +118 -24
  275. package/Source/Scene/MetadataSchemaLoader.js +0 -2
  276. package/Source/Scene/MetadataSemantic.js +6 -2
  277. package/Source/Scene/MetadataType.js +3 -1
  278. package/Source/Scene/Model/B3dmLoader.js +0 -3
  279. package/Source/Scene/Model/CustomShaderMode.js +3 -1
  280. package/Source/Scene/Model/CustomShaderPipelineStage.js +3 -1
  281. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
  282. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +735 -264
  283. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
  284. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
  285. package/Source/Scene/Model/GeoJsonLoader.js +0 -2
  286. package/Source/Scene/Model/I3dmLoader.js +0 -3
  287. package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
  288. package/Source/Scene/Model/LightingModel.js +5 -1
  289. package/Source/Scene/Model/MaterialPipelineStage.js +331 -3
  290. package/Source/Scene/Model/MetadataPipelineStage.js +3 -3
  291. package/Source/Scene/Model/ModelDrawCommand.js +6 -0
  292. package/Source/Scene/Model/ModelReader.js +475 -4
  293. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
  294. package/Source/Scene/Model/ModelType.js +3 -1
  295. package/Source/Scene/Model/ModelUtility.js +3 -1
  296. package/Source/Scene/Model/PntsLoader.js +4 -3
  297. package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
  298. package/Source/Scene/Model/UniformType.js +5 -1
  299. package/Source/Scene/Model/VaryingType.js +5 -1
  300. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +375 -0
  301. package/Source/Scene/Model/pickModel.js +94 -299
  302. package/Source/Scene/ModelAnimationLoop.js +6 -1
  303. package/Source/Scene/ModelAnimationState.js +6 -1
  304. package/Source/Scene/ModelComponents.js +1639 -1542
  305. package/Source/Scene/PickedMetadataInfo.js +1 -0
  306. package/Source/Scene/PrimitiveState.js +7 -1
  307. package/Source/Scene/QuadtreeOccluders.js +20 -15
  308. package/Source/Scene/QuadtreeTile.js +547 -541
  309. package/Source/Scene/QuadtreeTileLoadState.js +6 -1
  310. package/Source/Scene/QuadtreeTileProvider.js +159 -175
  311. package/Source/Scene/ResourceLoader.js +0 -1
  312. package/Source/Scene/ResourceLoaderState.js +7 -1
  313. package/Source/Scene/SceneMode.js +4 -1
  314. package/Source/Scene/ScreenSpaceCameraController.js +13 -0
  315. package/Source/Scene/ShadowMode.js +3 -1
  316. package/Source/Scene/SkyBox.js +17 -8
  317. package/Source/Scene/SplitDirection.js +6 -1
  318. package/Source/Scene/StencilFunction.js +6 -1
  319. package/Source/Scene/StencilOperation.js +6 -1
  320. package/Source/Scene/TerrainState.js +7 -1
  321. package/Source/Scene/TileBoundingRegion.js +1 -1
  322. package/Source/Scene/TileBoundingS2Cell.js +1 -1
  323. package/Source/Scene/TileBoundingSphere.js +1 -1
  324. package/Source/Scene/TileState.js +7 -1
  325. package/Source/Scene/Tonemapper.js +5 -1
  326. package/Source/Scene/TweenCollection.js +7 -0
  327. package/Source/Scene/VectorGltf3DTileContent.js +403 -0
  328. package/Source/Scene/VertexAttributeSemantic.js +17 -1
  329. package/Source/Scene/VerticalOrigin.js +6 -1
  330. package/Source/Scene/VoxelBoxShape.js +12 -6
  331. package/Source/Scene/VoxelContent.js +2 -0
  332. package/Source/Scene/VoxelCylinderShape.js +39 -38
  333. package/Source/Scene/VoxelEllipsoidShape.js +46 -96
  334. package/Source/Scene/VoxelMetadataOrder.js +6 -1
  335. package/Source/Scene/VoxelProvider.js +1 -0
  336. package/Source/Scene/VoxelShapeType.js +3 -1
  337. package/Source/Scene/WebMapServiceImageryProvider.js +2 -2
  338. package/Source/Scene/WebMapTileServiceImageryProvider.js +366 -131
  339. package/Source/Scene/parseStructuralMetadata.js +97 -37
  340. package/Source/Scene/renderBufferPointCollection.js +285 -0
  341. package/Source/Scene/renderBufferPolygonCollection.js +339 -0
  342. package/Source/Scene/renderBufferPolylineCollection.js +478 -0
  343. package/Source/Shaders/BillboardCollectionFS.glsl +2 -77
  344. package/Source/Shaders/BillboardCollectionFS.js +2 -77
  345. package/Source/Shaders/BillboardCollectionVS.glsl +2 -60
  346. package/Source/Shaders/BillboardCollectionVS.js +2 -60
  347. package/Source/Shaders/BufferPointMaterialFS.glsl +27 -0
  348. package/Source/Shaders/BufferPointMaterialFS.js +29 -0
  349. package/Source/Shaders/BufferPointMaterialVS.glsl +48 -0
  350. package/Source/Shaders/BufferPointMaterialVS.js +50 -0
  351. package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
  352. package/Source/Shaders/BufferPolygonMaterialFS.js +15 -0
  353. package/Source/Shaders/BufferPolygonMaterialVS.glsl +30 -0
  354. package/Source/Shaders/BufferPolygonMaterialVS.js +32 -0
  355. package/Source/Shaders/BufferPolylineMaterialFS.glsl +13 -0
  356. package/Source/Shaders/BufferPolylineMaterialFS.js +15 -0
  357. package/Source/Shaders/BufferPolylineMaterialVS.glsl +49 -0
  358. package/Source/Shaders/BufferPolylineMaterialVS.js +51 -0
  359. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  360. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  361. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  362. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  363. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  364. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  365. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  366. package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +34 -48
  367. package/Source/Shaders/Model/EdgeVisibilityStageFS.js +34 -49
  368. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +98 -0
  369. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +100 -0
  370. package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
  371. package/Source/Shaders/Model/MaterialStageFS.js +46 -20
  372. package/Source/Shaders/Model/ModelFS.glsl +15 -0
  373. package/Source/Shaders/Model/ModelFS.js +15 -0
  374. package/Source/Shaders/Model/ModelVS.glsl +8 -0
  375. package/Source/Shaders/Model/ModelVS.js +8 -0
  376. package/Source/Shaders/PolygonSignedDistanceFS.glsl +64 -33
  377. package/Source/Shaders/PolygonSignedDistanceFS.js +64 -33
  378. package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +9 -2
  379. package/Source/Shaders/PrimitiveGaussianSplatVS.js +9 -2
  380. package/Source/Shaders/Voxels/VoxelFS.glsl +1 -1
  381. package/Source/Shaders/Voxels/VoxelFS.js +1 -1
  382. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
  383. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
  384. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
  385. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
  386. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
  387. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
  388. package/Source/Widget/CesiumWidget.js +11 -4
  389. package/Source/Workers/decodeDraco.js +3 -0
  390. package/Source/Workers/decodeI3S.js +5 -2
  391. package/index.d.ts +1332 -402
  392. package/index.js +111 -81
  393. package/package.json +3 -3
  394. package/Build/Workers/chunk-54O3AGOA.js +0 -642
  395. package/Build/Workers/chunk-6U5QMZU3.js +0 -940
  396. package/Build/Workers/chunk-HNDE73JK.js +0 -1829
  397. package/Build/Workers/chunk-PAFMAR7A.js +0 -2357
  398. package/Build/Workers/chunk-S53HSRT6.js +0 -114
@@ -1,255 +1,301 @@
1
+ // @ts-check
2
+
1
3
  import Cartesian3 from "./Cartesian3.js";
2
4
  import Check from "./Check.js";
3
5
  import defined from "./defined.js";
4
6
  import CesiumMath from "./Math.js";
5
7
  import scaleToGeodeticSurface from "./scaleToGeodeticSurface.js";
6
8
 
9
+ /** @import Ellipsoid from "./Ellipsoid.js"; */
10
+
7
11
  /**
8
12
  * A position defined by longitude, latitude, and height.
9
- * @alias Cartographic
10
- * @constructor
11
- *
12
- * @param {number} [longitude=0.0] The longitude, in radians.
13
- * @param {number} [latitude=0.0] The latitude, in radians.
14
- * @param {number} [height=0.0] The height, in meters, above the ellipsoid.
15
13
  *
16
14
  * @see Ellipsoid
17
15
  */
18
- function Cartographic(longitude, latitude, height) {
16
+ class Cartographic {
19
17
  /**
20
- * The longitude, in radians.
21
- * @type {number}
22
- * @default 0.0
18
+ * @param {number} [longitude=0.0] The longitude, in radians.
19
+ * @param {number} [latitude=0.0] The latitude, in radians.
20
+ * @param {number} [height=0.0] The height, in meters, above the ellipsoid.
23
21
  */
24
- this.longitude = longitude ?? 0.0;
22
+ constructor(longitude, latitude, height) {
23
+ /**
24
+ * The longitude, in radians.
25
+ * @type {number}
26
+ * @default 0.0
27
+ */
28
+ this.longitude = longitude ?? 0.0;
29
+
30
+ /**
31
+ * The latitude, in radians.
32
+ * @type {number}
33
+ * @default 0.0
34
+ */
35
+ this.latitude = latitude ?? 0.0;
36
+
37
+ /**
38
+ * The height, in meters, above the ellipsoid.
39
+ * @type {number}
40
+ * @default 0.0
41
+ */
42
+ this.height = height ?? 0.0;
43
+ }
25
44
 
26
45
  /**
27
- * The latitude, in radians.
28
- * @type {number}
29
- * @default 0.0
46
+ * Creates a new Cartographic instance from longitude and latitude
47
+ * specified in radians.
48
+ *
49
+ * @param {number} longitude The longitude, in radians.
50
+ * @param {number} latitude The latitude, in radians.
51
+ * @param {number} [height=0.0] The height, in meters, above the ellipsoid.
52
+ * @param {Cartographic} [result] The object onto which to store the result.
53
+ * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
30
54
  */
31
- this.latitude = latitude ?? 0.0;
55
+ static fromRadians(longitude, latitude, height, result) {
56
+ //>>includeStart('debug', pragmas.debug);
57
+ Check.typeOf.number("longitude", longitude);
58
+ Check.typeOf.number("latitude", latitude);
59
+ //>>includeEnd('debug');
60
+
61
+ height = height ?? 0.0;
62
+
63
+ if (!defined(result)) {
64
+ return new Cartographic(longitude, latitude, height);
65
+ }
66
+
67
+ result.longitude = longitude;
68
+ result.latitude = latitude;
69
+ result.height = height;
70
+ return result;
71
+ }
32
72
 
33
73
  /**
34
- * The height, in meters, above the ellipsoid.
35
- * @type {number}
36
- * @default 0.0
74
+ * Creates a new Cartographic instance from longitude and latitude
75
+ * specified in degrees. The values in the resulting object will
76
+ * be in radians.
77
+ *
78
+ * @param {number} longitude The longitude, in degrees.
79
+ * @param {number} latitude The latitude, in degrees.
80
+ * @param {number} [height=0.0] The height, in meters, above the ellipsoid.
81
+ * @param {Cartographic} [result] The object onto which to store the result.
82
+ * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
37
83
  */
38
- this.height = height ?? 0.0;
39
- }
40
-
41
- /**
42
- * Creates a new Cartographic instance from longitude and latitude
43
- * specified in radians.
44
- *
45
- * @param {number} longitude The longitude, in radians.
46
- * @param {number} latitude The latitude, in radians.
47
- * @param {number} [height=0.0] The height, in meters, above the ellipsoid.
48
- * @param {Cartographic} [result] The object onto which to store the result.
49
- * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
50
- */
51
- Cartographic.fromRadians = function (longitude, latitude, height, result) {
52
- //>>includeStart('debug', pragmas.debug);
53
- Check.typeOf.number("longitude", longitude);
54
- Check.typeOf.number("latitude", latitude);
55
- //>>includeEnd('debug');
84
+ static fromDegrees(longitude, latitude, height, result) {
85
+ //>>includeStart('debug', pragmas.debug);
86
+ Check.typeOf.number("longitude", longitude);
87
+ Check.typeOf.number("latitude", latitude);
88
+ //>>includeEnd('debug');
56
89
 
57
- height = height ?? 0.0;
90
+ longitude = CesiumMath.toRadians(longitude);
91
+ latitude = CesiumMath.toRadians(latitude);
58
92
 
59
- if (!defined(result)) {
60
- return new Cartographic(longitude, latitude, height);
93
+ return Cartographic.fromRadians(longitude, latitude, height, result);
61
94
  }
62
95
 
63
- result.longitude = longitude;
64
- result.latitude = latitude;
65
- result.height = height;
66
- return result;
67
- };
96
+ /**
97
+ * Creates a new Cartographic instance from a Cartesian position. The values in the
98
+ * resulting object will be in radians.
99
+ *
100
+ * @param {Cartesian3} cartesian The Cartesian position to convert to cartographic representation.
101
+ * @param {Ellipsoid} [ellipsoid=Ellipsoid.default] The ellipsoid on which the position lies.
102
+ * @param {Cartographic} [result] The object onto which to store the result.
103
+ * @returns {Cartographic} The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid.
104
+ */
105
+ static fromCartesian(cartesian, ellipsoid, result) {
106
+ const oneOverRadii = defined(ellipsoid)
107
+ ? ellipsoid.oneOverRadii
108
+ : Cartographic._ellipsoidOneOverRadii;
109
+ const oneOverRadiiSquared = defined(ellipsoid)
110
+ ? ellipsoid.oneOverRadiiSquared
111
+ : Cartographic._ellipsoidOneOverRadiiSquared;
112
+ const centerToleranceSquared = defined(ellipsoid)
113
+ ? ellipsoid._centerToleranceSquared
114
+ : Cartographic._ellipsoidCenterToleranceSquared;
68
115
 
69
- /**
70
- * Creates a new Cartographic instance from longitude and latitude
71
- * specified in degrees. The values in the resulting object will
72
- * be in radians.
73
- *
74
- * @param {number} longitude The longitude, in degrees.
75
- * @param {number} latitude The latitude, in degrees.
76
- * @param {number} [height=0.0] The height, in meters, above the ellipsoid.
77
- * @param {Cartographic} [result] The object onto which to store the result.
78
- * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
79
- */
80
- Cartographic.fromDegrees = function (longitude, latitude, height, result) {
81
- //>>includeStart('debug', pragmas.debug);
82
- Check.typeOf.number("longitude", longitude);
83
- Check.typeOf.number("latitude", latitude);
84
- //>>includeEnd('debug');
116
+ //`cartesian is required.` is thrown from scaleToGeodeticSurface
117
+ const p = scaleToGeodeticSurface(
118
+ cartesian,
119
+ oneOverRadii,
120
+ oneOverRadiiSquared,
121
+ centerToleranceSquared,
122
+ cartesianToCartographicP,
123
+ );
85
124
 
86
- longitude = CesiumMath.toRadians(longitude);
87
- latitude = CesiumMath.toRadians(latitude);
125
+ if (!defined(p)) {
126
+ return undefined;
127
+ }
88
128
 
89
- return Cartographic.fromRadians(longitude, latitude, height, result);
90
- };
129
+ let n = Cartesian3.multiplyComponents(
130
+ p,
131
+ oneOverRadiiSquared,
132
+ cartesianToCartographicN,
133
+ );
134
+ n = Cartesian3.normalize(n, n);
91
135
 
92
- const cartesianToCartographicN = new Cartesian3();
93
- const cartesianToCartographicP = new Cartesian3();
94
- const cartesianToCartographicH = new Cartesian3();
136
+ const h = Cartesian3.subtract(cartesian, p, cartesianToCartographicH);
95
137
 
96
- // To avoid circular dependencies, these are set by Ellipsoid when Ellipsoid.default is set.
97
- Cartographic._ellipsoidOneOverRadii = new Cartesian3(
98
- 1.0 / 6378137.0,
99
- 1.0 / 6378137.0,
100
- 1.0 / 6356752.3142451793,
101
- );
102
- Cartographic._ellipsoidOneOverRadiiSquared = new Cartesian3(
103
- 1.0 / (6378137.0 * 6378137.0),
104
- 1.0 / (6378137.0 * 6378137.0),
105
- 1.0 / (6356752.3142451793 * 6356752.3142451793),
106
- );
107
- Cartographic._ellipsoidCenterToleranceSquared = CesiumMath.EPSILON1;
138
+ const longitude = Math.atan2(n.y, n.x);
139
+ const latitude = Math.asin(n.z);
140
+ const height =
141
+ CesiumMath.sign(Cartesian3.dot(h, cartesian)) * Cartesian3.magnitude(h);
108
142
 
109
- /**
110
- * Creates a new Cartographic instance from a Cartesian position. The values in the
111
- * resulting object will be in radians.
112
- *
113
- * @param {Cartesian3} cartesian The Cartesian position to convert to cartographic representation.
114
- * @param {Ellipsoid} [ellipsoid=Ellipsoid.default] The ellipsoid on which the position lies.
115
- * @param {Cartographic} [result] The object onto which to store the result.
116
- * @returns {Cartographic} The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid.
117
- */
118
- Cartographic.fromCartesian = function (cartesian, ellipsoid, result) {
119
- const oneOverRadii = defined(ellipsoid)
120
- ? ellipsoid.oneOverRadii
121
- : Cartographic._ellipsoidOneOverRadii;
122
- const oneOverRadiiSquared = defined(ellipsoid)
123
- ? ellipsoid.oneOverRadiiSquared
124
- : Cartographic._ellipsoidOneOverRadiiSquared;
125
- const centerToleranceSquared = defined(ellipsoid)
126
- ? ellipsoid._centerToleranceSquared
127
- : Cartographic._ellipsoidCenterToleranceSquared;
128
-
129
- //`cartesian is required.` is thrown from scaleToGeodeticSurface
130
- const p = scaleToGeodeticSurface(
131
- cartesian,
132
- oneOverRadii,
133
- oneOverRadiiSquared,
134
- centerToleranceSquared,
135
- cartesianToCartographicP,
136
- );
143
+ if (!defined(result)) {
144
+ return new Cartographic(longitude, latitude, height);
145
+ }
146
+ result.longitude = longitude;
147
+ result.latitude = latitude;
148
+ result.height = height;
149
+ return result;
150
+ }
151
+
152
+ /**
153
+ * Creates a new Cartesian3 instance from a Cartographic input. The values in the inputted
154
+ * object should be in radians.
155
+ *
156
+ * @param {Cartographic} cartographic Input to be converted into a Cartesian3 output.
157
+ * @param {Ellipsoid} [ellipsoid=Ellipsoid.default] The ellipsoid on which the position lies.
158
+ * @param {Cartesian3} [result] The object onto which to store the result.
159
+ * @returns {Cartesian3} The position
160
+ */
161
+ static toCartesian(cartographic, ellipsoid, result) {
162
+ //>>includeStart('debug', pragmas.debug);
163
+ Check.defined("cartographic", cartographic);
164
+ //>>includeEnd('debug');
165
+
166
+ return Cartesian3.fromRadians(
167
+ cartographic.longitude,
168
+ cartographic.latitude,
169
+ cartographic.height,
170
+ ellipsoid,
171
+ result,
172
+ );
173
+ }
137
174
 
138
- if (!defined(p)) {
139
- return undefined;
175
+ /**
176
+ * Duplicates a Cartographic instance.
177
+ *
178
+ * @param {Cartographic} cartographic The cartographic to duplicate.
179
+ * @param {Cartographic} [result] The object onto which to store the result.
180
+ * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided. (Returns undefined if cartographic is undefined)
181
+ */
182
+ static clone(cartographic, result) {
183
+ if (!defined(cartographic)) {
184
+ return undefined;
185
+ }
186
+ if (!defined(result)) {
187
+ return new Cartographic(
188
+ cartographic.longitude,
189
+ cartographic.latitude,
190
+ cartographic.height,
191
+ );
192
+ }
193
+ result.longitude = cartographic.longitude;
194
+ result.latitude = cartographic.latitude;
195
+ result.height = cartographic.height;
196
+ return result;
140
197
  }
141
198
 
142
- let n = Cartesian3.multiplyComponents(
143
- p,
144
- oneOverRadiiSquared,
145
- cartesianToCartographicN,
146
- );
147
- n = Cartesian3.normalize(n, n);
199
+ /**
200
+ * Compares the provided cartographics componentwise and returns
201
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
202
+ *
203
+ * @param {Cartographic} [left] The first cartographic.
204
+ * @param {Cartographic} [right] The second cartographic.
205
+ * @returns {boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
206
+ */
207
+ static equals(left, right) {
208
+ return (
209
+ left === right ||
210
+ (defined(left) &&
211
+ defined(right) &&
212
+ left.longitude === right.longitude &&
213
+ left.latitude === right.latitude &&
214
+ left.height === right.height)
215
+ );
216
+ }
148
217
 
149
- const h = Cartesian3.subtract(cartesian, p, cartesianToCartographicH);
218
+ /**
219
+ * Compares the provided cartographics componentwise and returns
220
+ * <code>true</code> if they are within the provided epsilon,
221
+ * <code>false</code> otherwise.
222
+ *
223
+ * @param {Cartographic} [left] The first cartographic.
224
+ * @param {Cartographic} [right] The second cartographic.
225
+ * @param {number} [epsilon=0] The epsilon to use for equality testing.
226
+ * @returns {boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
227
+ */
228
+ static equalsEpsilon(left, right, epsilon) {
229
+ epsilon = epsilon ?? 0;
150
230
 
151
- const longitude = Math.atan2(n.y, n.x);
152
- const latitude = Math.asin(n.z);
153
- const height =
154
- CesiumMath.sign(Cartesian3.dot(h, cartesian)) * Cartesian3.magnitude(h);
231
+ return (
232
+ left === right ||
233
+ (defined(left) &&
234
+ defined(right) &&
235
+ Math.abs(left.longitude - right.longitude) <= epsilon &&
236
+ Math.abs(left.latitude - right.latitude) <= epsilon &&
237
+ Math.abs(left.height - right.height) <= epsilon)
238
+ );
239
+ }
155
240
 
156
- if (!defined(result)) {
157
- return new Cartographic(longitude, latitude, height);
241
+ /**
242
+ * Duplicates this instance.
243
+ *
244
+ * @param {Cartographic} [result] The object onto which to store the result.
245
+ * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
246
+ */
247
+ clone(result) {
248
+ return Cartographic.clone(this, result);
158
249
  }
159
- result.longitude = longitude;
160
- result.latitude = latitude;
161
- result.height = height;
162
- return result;
163
- };
164
250
 
165
- /**
166
- * Creates a new Cartesian3 instance from a Cartographic input. The values in the inputted
167
- * object should be in radians.
168
- *
169
- * @param {Cartographic} cartographic Input to be converted into a Cartesian3 output.
170
- * @param {Ellipsoid} [ellipsoid=Ellipsoid.default] The ellipsoid on which the position lies.
171
- * @param {Cartesian3} [result] The object onto which to store the result.
172
- * @returns {Cartesian3} The position
173
- */
174
- Cartographic.toCartesian = function (cartographic, ellipsoid, result) {
175
- //>>includeStart('debug', pragmas.debug);
176
- Check.defined("cartographic", cartographic);
177
- //>>includeEnd('debug');
178
-
179
- return Cartesian3.fromRadians(
180
- cartographic.longitude,
181
- cartographic.latitude,
182
- cartographic.height,
183
- ellipsoid,
184
- result,
185
- );
186
- };
251
+ /**
252
+ * Compares the provided against this cartographic componentwise and returns
253
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
254
+ *
255
+ * @param {Cartographic} [right] The second cartographic.
256
+ * @returns {boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
257
+ */
258
+ equals(right) {
259
+ return Cartographic.equals(this, right);
260
+ }
187
261
 
188
- /**
189
- * Duplicates a Cartographic instance.
190
- *
191
- * @param {Cartographic} cartographic The cartographic to duplicate.
192
- * @param {Cartographic} [result] The object onto which to store the result.
193
- * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided. (Returns undefined if cartographic is undefined)
194
- */
195
- Cartographic.clone = function (cartographic, result) {
196
- if (!defined(cartographic)) {
197
- return undefined;
262
+ /**
263
+ * Compares the provided against this cartographic componentwise and returns
264
+ * <code>true</code> if they are within the provided epsilon,
265
+ * <code>false</code> otherwise.
266
+ *
267
+ * @param {Cartographic} [right] The second cartographic.
268
+ * @param {number} [epsilon=0] The epsilon to use for equality testing.
269
+ * @returns {boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
270
+ */
271
+ equalsEpsilon(right, epsilon) {
272
+ return Cartographic.equalsEpsilon(this, right, epsilon);
198
273
  }
199
- if (!defined(result)) {
200
- return new Cartographic(
201
- cartographic.longitude,
202
- cartographic.latitude,
203
- cartographic.height,
204
- );
274
+
275
+ /**
276
+ * Creates a string representing this cartographic in the format '(longitude, latitude, height)'.
277
+ *
278
+ * @returns {string} A string representing the provided cartographic in the format '(longitude, latitude, height)'.
279
+ */
280
+ toString() {
281
+ return `(${this.longitude}, ${this.latitude}, ${this.height})`;
205
282
  }
206
- result.longitude = cartographic.longitude;
207
- result.latitude = cartographic.latitude;
208
- result.height = cartographic.height;
209
- return result;
210
- };
211
283
 
212
- /**
213
- * Compares the provided cartographics componentwise and returns
214
- * <code>true</code> if they are equal, <code>false</code> otherwise.
215
- *
216
- * @param {Cartographic} [left] The first cartographic.
217
- * @param {Cartographic} [right] The second cartographic.
218
- * @returns {boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
219
- */
220
- Cartographic.equals = function (left, right) {
221
- return (
222
- left === right ||
223
- (defined(left) &&
224
- defined(right) &&
225
- left.longitude === right.longitude &&
226
- left.latitude === right.latitude &&
227
- left.height === right.height)
284
+ // To avoid circular dependencies, these are set by Ellipsoid when Ellipsoid.default is set.
285
+ static _ellipsoidOneOverRadii = new Cartesian3(
286
+ 1.0 / 6378137.0,
287
+ 1.0 / 6378137.0,
288
+ 1.0 / 6356752.3142451793,
228
289
  );
229
- };
230
290
 
231
- /**
232
- * Compares the provided cartographics componentwise and returns
233
- * <code>true</code> if they are within the provided epsilon,
234
- * <code>false</code> otherwise.
235
- *
236
- * @param {Cartographic} [left] The first cartographic.
237
- * @param {Cartographic} [right] The second cartographic.
238
- * @param {number} [epsilon=0] The epsilon to use for equality testing.
239
- * @returns {boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
240
- */
241
- Cartographic.equalsEpsilon = function (left, right, epsilon) {
242
- epsilon = epsilon ?? 0;
243
-
244
- return (
245
- left === right ||
246
- (defined(left) &&
247
- defined(right) &&
248
- Math.abs(left.longitude - right.longitude) <= epsilon &&
249
- Math.abs(left.latitude - right.latitude) <= epsilon &&
250
- Math.abs(left.height - right.height) <= epsilon)
291
+ static _ellipsoidOneOverRadiiSquared = new Cartesian3(
292
+ 1.0 / (6378137.0 * 6378137.0),
293
+ 1.0 / (6378137.0 * 6378137.0),
294
+ 1.0 / (6356752.3142451793 * 6356752.3142451793),
251
295
  );
252
- };
296
+
297
+ static _ellipsoidCenterToleranceSquared = CesiumMath.EPSILON1;
298
+ }
253
299
 
254
300
  /**
255
301
  * An immutable Cartographic instance initialized to (0.0, 0.0, 0.0).
@@ -259,46 +305,8 @@ Cartographic.equalsEpsilon = function (left, right, epsilon) {
259
305
  */
260
306
  Cartographic.ZERO = Object.freeze(new Cartographic(0.0, 0.0, 0.0));
261
307
 
262
- /**
263
- * Duplicates this instance.
264
- *
265
- * @param {Cartographic} [result] The object onto which to store the result.
266
- * @returns {Cartographic} The modified result parameter or a new Cartographic instance if one was not provided.
267
- */
268
- Cartographic.prototype.clone = function (result) {
269
- return Cartographic.clone(this, result);
270
- };
271
-
272
- /**
273
- * Compares the provided against this cartographic componentwise and returns
274
- * <code>true</code> if they are equal, <code>false</code> otherwise.
275
- *
276
- * @param {Cartographic} [right] The second cartographic.
277
- * @returns {boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
278
- */
279
- Cartographic.prototype.equals = function (right) {
280
- return Cartographic.equals(this, right);
281
- };
282
-
283
- /**
284
- * Compares the provided against this cartographic componentwise and returns
285
- * <code>true</code> if they are within the provided epsilon,
286
- * <code>false</code> otherwise.
287
- *
288
- * @param {Cartographic} [right] The second cartographic.
289
- * @param {number} [epsilon=0] The epsilon to use for equality testing.
290
- * @returns {boolean} <code>true</code> if left and right are within the provided epsilon, <code>false</code> otherwise.
291
- */
292
- Cartographic.prototype.equalsEpsilon = function (right, epsilon) {
293
- return Cartographic.equalsEpsilon(this, right, epsilon);
294
- };
308
+ const cartesianToCartographicN = new Cartesian3();
309
+ const cartesianToCartographicP = new Cartesian3();
310
+ const cartesianToCartographicH = new Cartesian3();
295
311
 
296
- /**
297
- * Creates a string representing this cartographic in the format '(longitude, latitude, height)'.
298
- *
299
- * @returns {string} A string representing the provided cartographic in the format '(longitude, latitude, height)'.
300
- */
301
- Cartographic.prototype.toString = function () {
302
- return `(${this.longitude}, ${this.latitude}, ${this.height})`;
303
- };
304
312
  export default Cartographic;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * Constants used by {@link Clock#tick} to determine behavior
3
5
  * when {@link Clock#startTime} or {@link Clock#stopTime} is reached.
@@ -36,4 +38,7 @@ const ClockRange = {
36
38
  */
37
39
  LOOP_STOP: 2,
38
40
  };
39
- export default Object.freeze(ClockRange);
41
+
42
+ Object.freeze(ClockRange);
43
+
44
+ export default ClockRange;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * Constants to determine how much time advances with each call
3
5
  * to {@link Clock#tick}.
@@ -35,4 +37,7 @@ const ClockStep = {
35
37
  */
36
38
  SYSTEM_CLOCK: 2,
37
39
  };
38
- export default Object.freeze(ClockStep);
40
+
41
+ Object.freeze(ClockStep);
42
+
43
+ export default ClockStep;