@cesium/engine 24.0.0 → 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 (312) hide show
  1. package/Build/Workers/{chunk-NKT5K3K3.js → chunk-35H3UBIO.js} +13 -12
  2. package/Build/Workers/{chunk-5A2SW66E.js → chunk-3LSD7OOA.js} +16 -16
  3. package/Build/Workers/{chunk-HXJMS2ZI.js → chunk-3RFFPH4M.js} +1 -1
  4. package/Build/Workers/{chunk-EDXL4W76.js → chunk-3TKLDHV3.js} +2 -2
  5. package/Build/Workers/{chunk-GQUNK2XC.js → chunk-3VDDRF2E.js} +14 -14
  6. package/Build/Workers/{chunk-Q3C6VQH6.js → chunk-3XY3MVPG.js} +4 -4
  7. package/Build/Workers/{chunk-A47HVBC5.js → chunk-4GF4MVPY.js} +7 -7
  8. package/Build/Workers/{chunk-YQFTYQMZ.js → chunk-4MTRQFJP.js} +3 -2
  9. package/Build/Workers/{chunk-N65BAKSH.js → chunk-4QQXGTCE.js} +8 -8
  10. package/Build/Workers/{chunk-EV3VGO6Y.js → chunk-4XXHJI6Y.js} +17 -17
  11. package/Build/Workers/{chunk-DHKPFLSJ.js → chunk-5T6QQAJW.js} +3 -2
  12. package/Build/Workers/{chunk-UIGVOKKI.js → chunk-6SDGQI27.js} +3 -2
  13. package/Build/Workers/{chunk-ILMFADZA.js → chunk-77RL3MBD.js} +6 -5
  14. package/Build/Workers/{chunk-2N4KDHS3.js → chunk-7LSFAEWF.js} +12 -11
  15. package/Build/Workers/{chunk-44EMEGKW.js → chunk-A7A433MD.js} +5 -5
  16. package/Build/Workers/{chunk-J6AW5YHS.js → chunk-A7ZBMVFS.js} +14 -14
  17. package/Build/Workers/{chunk-XJRBB253.js → chunk-ACFFCHHZ.js} +11 -11
  18. package/Build/Workers/{chunk-MKM27KGV.js → chunk-AEAVLYPS.js} +2 -2
  19. package/Build/Workers/{chunk-7MDYBRYJ.js → chunk-AWFZHD2B.js} +4 -4
  20. package/Build/Workers/{chunk-UQU4RXLT.js → chunk-BTX2NL3P.js} +50 -45
  21. package/Build/Workers/{chunk-4TIG36AW.js → chunk-BVAIWR7O.js} +12 -12
  22. package/Build/Workers/chunk-CKQP3DSS.js +973 -0
  23. package/Build/Workers/{chunk-VLDEUTOP.js → chunk-CZ23Y3RM.js} +2 -2
  24. package/Build/Workers/{chunk-NPF7SSHZ.js → chunk-DFEI5MAV.js} +7 -7
  25. package/Build/Workers/{chunk-AJLTU6PF.js → chunk-DH26SNAB.js} +4 -1
  26. package/Build/Workers/{chunk-5GXYJQ2K.js → chunk-DYT5NR6P.js} +3 -3
  27. package/Build/Workers/{chunk-63SIWPLS.js → chunk-EZARA5FJ.js} +13 -13
  28. package/Build/Workers/{chunk-AMIHNSST.js → chunk-FIBS5S7R.js} +2 -2
  29. package/Build/Workers/{chunk-Y7HNNPNK.js → chunk-FVLVVOBQ.js} +10 -10
  30. package/Build/Workers/{chunk-XY6HMDGI.js → chunk-GL7DNVUS.js} +5 -5
  31. package/Build/Workers/{chunk-6WLHJFD3.js → chunk-GPIGURCG.js} +59 -32
  32. package/Build/Workers/{chunk-B6SCUUFP.js → chunk-H2A4USJR.js} +10 -10
  33. package/Build/Workers/chunk-HSVQATK2.js +147 -0
  34. package/Build/Workers/{chunk-72VYSVEW.js → chunk-HVMG6AG4.js} +11 -10
  35. package/Build/Workers/{chunk-LXMCPFFS.js → chunk-I3A6DXYZ.js} +4 -4
  36. package/Build/Workers/{chunk-7QRFIKWQ.js → chunk-ITD2IN7N.js} +2 -2
  37. package/Build/Workers/{chunk-RQNJD3O4.js → chunk-J3OFS2RD.js} +12 -12
  38. package/Build/Workers/{chunk-C6P4IG5P.js → chunk-J647NNZW.js} +6 -6
  39. package/Build/Workers/{chunk-7X322WP2.js → chunk-J7KQEKPK.js} +13 -13
  40. package/Build/Workers/{chunk-7O5XJTVE.js → chunk-K6NFIRFB.js} +5 -5
  41. package/Build/Workers/{chunk-AF3MU2RL.js → chunk-LH5SF3XV.js} +7 -6
  42. package/Build/Workers/{chunk-GOQBUCXH.js → chunk-ND3NTTOF.js} +708 -430
  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-YAOZMOFL.js → chunk-ST2UWDUU.js} +5 -5
  47. package/Build/Workers/{chunk-PVV64VFW.js → chunk-TA777BGS.js} +3 -2
  48. package/Build/Workers/{chunk-ISY4EZCA.js → chunk-TAI4HLII.js} +4 -4
  49. package/Build/Workers/{chunk-JCI63T3K.js → chunk-URUCCIPS.js} +6 -6
  50. package/Build/Workers/{chunk-VMVOUQ5J.js → chunk-VQKLRBIK.js} +7 -7
  51. package/Build/Workers/{chunk-6MPGQEHA.js → chunk-WC57YYBN.js} +2 -2
  52. package/Build/Workers/{chunk-BJD6QGXZ.js → chunk-WN6P5UDH.js} +12 -12
  53. package/Build/Workers/{chunk-LIB2H534.js → chunk-WNN5D4W3.js} +12 -11
  54. package/Build/Workers/{chunk-D4EJ2NXG.js → chunk-WTQGE7Q6.js} +17 -17
  55. package/Build/Workers/{chunk-YJZGW74L.js → chunk-WUBKZFF6.js} +2213 -1349
  56. package/Build/Workers/{chunk-7TYLCBGK.js → chunk-ZAPOS52G.js} +12 -10
  57. package/Build/Workers/{chunk-6RMS4S72.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 +24 -24
  100. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +10 -10
  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/Cartesian3.js +1 -2
  116. package/Source/Core/Cartographic.js +257 -249
  117. package/Source/Core/ClockRange.js +6 -1
  118. package/Source/Core/ClockStep.js +6 -1
  119. package/Source/Core/Color.js +844 -835
  120. package/Source/Core/ComponentDatatype.js +4 -1
  121. package/Source/Core/CornerType.js +6 -1
  122. package/Source/Core/Credit.js +121 -124
  123. package/Source/Core/Ellipsoid.js +637 -660
  124. package/Source/Core/ExtrapolationType.js +6 -1
  125. package/Source/Core/GeocodeType.js +6 -1
  126. package/Source/Core/GeographicProjection.js +74 -74
  127. package/Source/Core/GeographicTilingScheme.js +179 -198
  128. package/Source/Core/GeometryOffsetAttribute.js +7 -1
  129. package/Source/Core/GeometryType.js +7 -1
  130. package/Source/Core/HeightmapEncoding.js +6 -1
  131. package/Source/Core/Iau2006XysData.js +24 -13
  132. package/Source/Core/IndexDatatype.js +3 -1
  133. package/Source/Core/InterpolationType.js +5 -1
  134. package/Source/Core/Intersect.js +6 -1
  135. package/Source/Core/Ion.js +1 -1
  136. package/Source/Core/IonGeocodeProviderType.js +5 -1
  137. package/Source/Core/JulianDate.js +850 -848
  138. package/Source/Core/KeyboardEventModifier.js +6 -1
  139. package/Source/Core/MapProjection.js +39 -44
  140. package/Source/Core/Matrix2.js +906 -893
  141. package/Source/Core/Matrix3.js +1643 -1575
  142. package/Source/Core/Matrix4.js +2903 -2872
  143. package/Source/Core/PixelFormat.js +3 -1
  144. package/Source/Core/PrimitiveType.js +11 -1
  145. package/Source/Core/Ray.js +62 -60
  146. package/Source/Core/Rectangle.js +913 -904
  147. package/Source/Core/ReferenceFrame.js +6 -1
  148. package/Source/Core/RequestScheduler.js +8 -3
  149. package/Source/Core/RequestState.js +6 -1
  150. package/Source/Core/RequestType.js +6 -1
  151. package/Source/Core/ScreenSpaceEventType.js +6 -1
  152. package/Source/Core/TerrainQuantization.js +6 -1
  153. package/Source/Core/TilingScheme.js +100 -98
  154. package/Source/Core/TimeConstants.js +6 -1
  155. package/Source/Core/TimeStandard.js +6 -1
  156. package/Source/Core/TrackingReferenceFrame.js +6 -1
  157. package/Source/Core/Visibility.js +6 -1
  158. package/Source/Core/VulkanConstants.js +6 -1
  159. package/Source/Core/WebGLConstants.js +6 -1
  160. package/Source/Core/WebMercatorProjection.js +108 -109
  161. package/Source/Core/WebMercatorTilingScheme.js +246 -242
  162. package/Source/Core/WindingOrder.js +3 -1
  163. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +1 -0
  164. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -0
  165. package/Source/DataSources/StripeOrientation.js +6 -1
  166. package/Source/Renderer/BufferUsage.js +20 -9
  167. package/Source/Renderer/Context.js +2 -29
  168. package/Source/Renderer/DrawCommand.js +435 -403
  169. package/Source/Renderer/MipmapHint.js +5 -1
  170. package/Source/Renderer/Pass.js +7 -1
  171. package/Source/Renderer/PickId.js +44 -0
  172. package/Source/Renderer/PixelDatatype.js +3 -1
  173. package/Source/Renderer/RenderbufferFormat.js +5 -1
  174. package/Source/Renderer/ShaderDestination.js +4 -1
  175. package/Source/Renderer/TextureMagnificationFilter.js +3 -1
  176. package/Source/Renderer/TextureMinificationFilter.js +3 -1
  177. package/Source/Renderer/TextureWrap.js +5 -1
  178. package/Source/Scene/AlphaMode.js +5 -1
  179. package/Source/Scene/ArcGisBaseMapType.js +6 -1
  180. package/Source/Scene/ArcGisMapService.js +1 -1
  181. package/Source/Scene/AttributeType.js +3 -1
  182. package/Source/Scene/Axis.js +3 -1
  183. package/Source/Scene/BingMapsStyle.js +6 -1
  184. package/Source/Scene/BlendEquation.js +6 -1
  185. package/Source/Scene/BlendFunction.js +6 -1
  186. package/Source/Scene/BlendOption.js +6 -1
  187. package/Source/Scene/BlendingState.js +6 -1
  188. package/Source/Scene/BufferLoader.js +0 -2
  189. package/Source/Scene/BufferPointCollection.js +4 -1
  190. package/Source/Scene/BufferPolygonCollection.js +3 -1
  191. package/Source/Scene/BufferPolylineCollection.js +3 -1
  192. package/Source/Scene/BufferPrimitiveCollection.js +140 -24
  193. package/Source/Scene/CameraEventType.js +6 -1
  194. package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
  195. package/Source/Scene/Cesium3DTileContentState.js +6 -1
  196. package/Source/Scene/Cesium3DTileContentType.js +3 -1
  197. package/Source/Scene/Cesium3DTileFeature.js +289 -306
  198. package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
  199. package/Source/Scene/Cesium3DTilePass.js +5 -1
  200. package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
  201. package/Source/Scene/Cesium3DTileRefine.js +6 -1
  202. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  203. package/Source/Scene/Cesium3DTileset.js +1 -1
  204. package/Source/Scene/ClassificationType.js +3 -1
  205. package/Source/Scene/CloudType.js +3 -1
  206. package/Source/Scene/ColorBlendMode.js +4 -1
  207. package/Source/Scene/CullFace.js +6 -1
  208. package/Source/Scene/DepthFunction.js +6 -1
  209. package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
  210. package/Source/Scene/EquirectangularPanorama.js +1 -0
  211. package/Source/Scene/ExpressionNodeType.js +6 -1
  212. package/Source/Scene/GltfBufferViewLoader.js +0 -2
  213. package/Source/Scene/GltfDracoLoader.js +0 -2
  214. package/Source/Scene/GltfImageLoader.js +0 -3
  215. package/Source/Scene/GltfIndexBufferLoader.js +0 -4
  216. package/Source/Scene/GltfJsonLoader.js +0 -2
  217. package/Source/Scene/GltfLoader.js +0 -5
  218. package/Source/Scene/GltfLoaderUtil.js +14 -0
  219. package/Source/Scene/GltfSpzLoader.js +0 -2
  220. package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
  221. package/Source/Scene/GltfTextureLoader.js +0 -2
  222. package/Source/Scene/GltfVertexBufferLoader.js +0 -4
  223. package/Source/Scene/HeightReference.js +5 -1
  224. package/Source/Scene/HorizontalOrigin.js +6 -1
  225. package/Source/Scene/ImageryProvider.js +1 -1
  226. package/Source/Scene/ImageryState.js +6 -1
  227. package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
  228. package/Source/Scene/InstanceAttributeSemantic.js +3 -1
  229. package/Source/Scene/IonWorldImageryStyle.js +6 -1
  230. package/Source/Scene/JobType.js +6 -1
  231. package/Source/Scene/LabelStyle.js +6 -1
  232. package/Source/Scene/MapMode2D.js +6 -1
  233. package/Source/Scene/MetadataComponentType.js +3 -1
  234. package/Source/Scene/MetadataSchemaLoader.js +0 -2
  235. package/Source/Scene/MetadataSemantic.js +6 -2
  236. package/Source/Scene/MetadataType.js +3 -1
  237. package/Source/Scene/Model/B3dmLoader.js +0 -3
  238. package/Source/Scene/Model/CustomShaderMode.js +3 -1
  239. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
  240. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +44 -71
  241. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
  242. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
  243. package/Source/Scene/Model/GeoJsonLoader.js +0 -2
  244. package/Source/Scene/Model/I3dmLoader.js +0 -3
  245. package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
  246. package/Source/Scene/Model/LightingModel.js +5 -1
  247. package/Source/Scene/Model/MaterialPipelineStage.js +184 -3
  248. package/Source/Scene/Model/ModelReader.js +474 -3
  249. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
  250. package/Source/Scene/Model/ModelType.js +3 -1
  251. package/Source/Scene/Model/PntsLoader.js +4 -3
  252. package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
  253. package/Source/Scene/Model/UniformType.js +5 -1
  254. package/Source/Scene/Model/VaryingType.js +5 -1
  255. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +73 -28
  256. package/Source/Scene/Model/pickModel.js +94 -299
  257. package/Source/Scene/ModelAnimationLoop.js +6 -1
  258. package/Source/Scene/ModelAnimationState.js +6 -1
  259. package/Source/Scene/ModelComponents.js +8 -1
  260. package/Source/Scene/PrimitiveState.js +7 -1
  261. package/Source/Scene/QuadtreeOccluders.js +20 -15
  262. package/Source/Scene/QuadtreeTile.js +547 -541
  263. package/Source/Scene/QuadtreeTileLoadState.js +6 -1
  264. package/Source/Scene/QuadtreeTileProvider.js +159 -175
  265. package/Source/Scene/ResourceLoader.js +0 -1
  266. package/Source/Scene/ResourceLoaderState.js +7 -1
  267. package/Source/Scene/SceneMode.js +4 -1
  268. package/Source/Scene/ShadowMode.js +3 -1
  269. package/Source/Scene/SkyBox.js +1 -1
  270. package/Source/Scene/SplitDirection.js +6 -1
  271. package/Source/Scene/StencilFunction.js +6 -1
  272. package/Source/Scene/StencilOperation.js +6 -1
  273. package/Source/Scene/TerrainState.js +7 -1
  274. package/Source/Scene/TileState.js +7 -1
  275. package/Source/Scene/Tonemapper.js +5 -1
  276. package/Source/Scene/VectorGltf3DTileContent.js +72 -51
  277. package/Source/Scene/VertexAttributeSemantic.js +3 -1
  278. package/Source/Scene/VerticalOrigin.js +6 -1
  279. package/Source/Scene/VoxelBoxShape.js +12 -6
  280. package/Source/Scene/VoxelContent.js +2 -0
  281. package/Source/Scene/VoxelCylinderShape.js +39 -38
  282. package/Source/Scene/VoxelEllipsoidShape.js +46 -96
  283. package/Source/Scene/VoxelMetadataOrder.js +6 -1
  284. package/Source/Scene/VoxelProvider.js +1 -0
  285. package/Source/Scene/VoxelShapeType.js +3 -1
  286. package/Source/Scene/renderBufferPointCollection.js +17 -66
  287. package/Source/Scene/renderBufferPolygonCollection.js +21 -68
  288. package/Source/Scene/renderBufferPolylineCollection.js +22 -73
  289. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  290. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  291. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  292. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  293. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  294. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  295. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  296. package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
  297. package/Source/Shaders/Model/MaterialStageFS.js +46 -20
  298. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
  299. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
  300. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
  301. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
  302. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
  303. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
  304. package/Source/Widget/CesiumWidget.js +11 -4
  305. package/index.d.ts +343 -309
  306. package/index.js +443 -438
  307. package/package.json +2 -2
  308. package/Build/Workers/chunk-DVB56LG7.js +0 -114
  309. package/Build/Workers/chunk-HKUES6UG.js +0 -2357
  310. package/Build/Workers/chunk-HRHRYFHS.js +0 -940
  311. package/Build/Workers/chunk-KLPGTXS3.js +0 -642
  312. package/Build/Workers/chunk-ZBZRTRJB.js +0 -1829
@@ -1,291 +1,295 @@
1
+ // @ts-check
2
+
1
3
  import Cartesian2 from "./Cartesian2.js";
4
+ import Cartesian3 from "./Cartesian3.js";
5
+ import Cartographic from "./Cartographic.js";
2
6
  import Frozen from "./Frozen.js";
3
7
  import defined from "./defined.js";
4
8
  import Ellipsoid from "./Ellipsoid.js";
5
9
  import Rectangle from "./Rectangle.js";
6
10
  import WebMercatorProjection from "./WebMercatorProjection.js";
7
11
 
12
+ /** @import MapProjection from "./MapProjection.js"; */
13
+ /** @import TilingScheme from "./TilingScheme.js"; */
14
+
15
+ const southwestScratch = new Cartographic();
16
+ const northeastScratch = new Cartographic();
17
+
18
+ const southwestCartesianScratch = new Cartesian3();
19
+ const northeastCartesianScratch = new Cartesian3();
20
+
8
21
  /**
9
22
  * A tiling scheme for geometry referenced to a {@link WebMercatorProjection}, EPSG:3857. This is
10
23
  * the tiling scheme used by Google Maps, Microsoft Bing Maps, and most of ESRI ArcGIS Online.
11
24
  *
12
- * @alias WebMercatorTilingScheme
13
- * @constructor
14
- *
15
- * @param {object} [options] Object with the following properties:
16
- * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.default] The ellipsoid whose surface is being tiled. Defaults to
17
- * the default ellipsoid.
18
- * @param {number} [options.numberOfLevelZeroTilesX=1] The number of tiles in the X direction at level zero of
19
- * the tile tree.
20
- * @param {number} [options.numberOfLevelZeroTilesY=1] The number of tiles in the Y direction at level zero of
21
- * the tile tree.
22
- * @param {Cartesian2} [options.rectangleSouthwestInMeters] The southwest corner of the rectangle covered by the
23
- * tiling scheme, in meters. If this parameter or rectangleNortheastInMeters is not specified, the entire
24
- * globe is covered in the longitude direction and an equal distance is covered in the latitude
25
- * direction, resulting in a square projection.
26
- * @param {Cartesian2} [options.rectangleNortheastInMeters] The northeast corner of the rectangle covered by the
27
- * tiling scheme, in meters. If this parameter or rectangleSouthwestInMeters is not specified, the entire
28
- * globe is covered in the longitude direction and an equal distance is covered in the latitude
29
- * direction, resulting in a square projection.
25
+ * @implements {TilingScheme}
30
26
  */
31
- function WebMercatorTilingScheme(options) {
32
- options = options ?? Frozen.EMPTY_OBJECT;
33
-
34
- this._ellipsoid = options.ellipsoid ?? Ellipsoid.default;
35
- this._numberOfLevelZeroTilesX = options.numberOfLevelZeroTilesX ?? 1;
36
- this._numberOfLevelZeroTilesY = options.numberOfLevelZeroTilesY ?? 1;
37
-
38
- this._projection = new WebMercatorProjection(this._ellipsoid);
39
-
40
- if (
41
- defined(options.rectangleSouthwestInMeters) &&
42
- defined(options.rectangleNortheastInMeters)
43
- ) {
44
- this._rectangleSouthwestInMeters = options.rectangleSouthwestInMeters;
45
- this._rectangleNortheastInMeters = options.rectangleNortheastInMeters;
46
- } else {
47
- const semimajorAxisTimesPi = this._ellipsoid.maximumRadius * Math.PI;
48
- this._rectangleSouthwestInMeters = new Cartesian2(
49
- -semimajorAxisTimesPi,
50
- -semimajorAxisTimesPi,
51
- );
52
- this._rectangleNortheastInMeters = new Cartesian2(
53
- semimajorAxisTimesPi,
54
- semimajorAxisTimesPi,
27
+ class WebMercatorTilingScheme {
28
+ /**
29
+ * @type {Cartesian2}
30
+ * @private
31
+ */
32
+ _rectangleSouthwestInMeters;
33
+
34
+ /**
35
+ * @type {Cartesian2}
36
+ * @private
37
+ */
38
+ _rectangleNortheastInMeters;
39
+
40
+ /**
41
+ * @param {object} [options] Object with the following properties:
42
+ * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.default] The ellipsoid whose surface is being tiled. Defaults to
43
+ * the default ellipsoid.
44
+ * @param {number} [options.numberOfLevelZeroTilesX=1] The number of tiles in the X direction at level zero of
45
+ * the tile tree.
46
+ * @param {number} [options.numberOfLevelZeroTilesY=1] The number of tiles in the Y direction at level zero of
47
+ * the tile tree.
48
+ * @param {Cartesian2} [options.rectangleSouthwestInMeters] The southwest corner of the rectangle covered by the
49
+ * tiling scheme, in meters. If this parameter or rectangleNortheastInMeters is not specified, the entire
50
+ * globe is covered in the longitude direction and an equal distance is covered in the latitude
51
+ * direction, resulting in a square projection.
52
+ * @param {Cartesian2} [options.rectangleNortheastInMeters] The northeast corner of the rectangle covered by the
53
+ * tiling scheme, in meters. If this parameter or rectangleSouthwestInMeters is not specified, the entire
54
+ * globe is covered in the longitude direction and an equal distance is covered in the latitude
55
+ * direction, resulting in a square projection.
56
+ */
57
+ constructor(options) {
58
+ options = options ?? Frozen.EMPTY_OBJECT;
59
+
60
+ this._ellipsoid = options.ellipsoid ?? Ellipsoid.default;
61
+ this._numberOfLevelZeroTilesX = options.numberOfLevelZeroTilesX ?? 1;
62
+ this._numberOfLevelZeroTilesY = options.numberOfLevelZeroTilesY ?? 1;
63
+
64
+ this._projection = new WebMercatorProjection(this._ellipsoid);
65
+
66
+ if (
67
+ defined(options.rectangleSouthwestInMeters) &&
68
+ defined(options.rectangleNortheastInMeters)
69
+ ) {
70
+ this._rectangleSouthwestInMeters = options.rectangleSouthwestInMeters;
71
+ this._rectangleNortheastInMeters = options.rectangleNortheastInMeters;
72
+ } else {
73
+ const semimajorAxisTimesPi = this._ellipsoid.maximumRadius * Math.PI;
74
+ this._rectangleSouthwestInMeters = new Cartesian2(
75
+ -semimajorAxisTimesPi,
76
+ -semimajorAxisTimesPi,
77
+ );
78
+ this._rectangleNortheastInMeters = new Cartesian2(
79
+ semimajorAxisTimesPi,
80
+ semimajorAxisTimesPi,
81
+ );
82
+ }
83
+
84
+ let { x, y } = this._rectangleSouthwestInMeters;
85
+ Cartesian3.fromElements(x, y, 0, southwestCartesianScratch);
86
+ this._projection.unproject(southwestCartesianScratch, southwestScratch);
87
+
88
+ ({ x, y } = this._rectangleNortheastInMeters);
89
+ Cartesian3.fromElements(x, y, 0, northeastCartesianScratch);
90
+ this._projection.unproject(northeastCartesianScratch, northeastScratch);
91
+
92
+ this._rectangle = new Rectangle(
93
+ southwestScratch.longitude,
94
+ southwestScratch.latitude,
95
+ northeastScratch.longitude,
96
+ northeastScratch.latitude,
55
97
  );
56
98
  }
57
99
 
58
- const southwest = this._projection.unproject(
59
- this._rectangleSouthwestInMeters,
60
- );
61
- const northeast = this._projection.unproject(
62
- this._rectangleNortheastInMeters,
63
- );
64
- this._rectangle = new Rectangle(
65
- southwest.longitude,
66
- southwest.latitude,
67
- northeast.longitude,
68
- northeast.latitude,
69
- );
70
- }
71
-
72
- Object.defineProperties(WebMercatorTilingScheme.prototype, {
73
100
  /**
74
101
  * Gets the ellipsoid that is tiled by this tiling scheme.
75
- * @memberof WebMercatorTilingScheme.prototype
76
102
  * @type {Ellipsoid}
77
103
  */
78
- ellipsoid: {
79
- get: function () {
80
- return this._ellipsoid;
81
- },
82
- },
104
+ get ellipsoid() {
105
+ return this._ellipsoid;
106
+ }
83
107
 
84
108
  /**
85
109
  * Gets the rectangle, in radians, covered by this tiling scheme.
86
- * @memberof WebMercatorTilingScheme.prototype
87
110
  * @type {Rectangle}
88
111
  */
89
- rectangle: {
90
- get: function () {
91
- return this._rectangle;
92
- },
93
- },
112
+ get rectangle() {
113
+ return this._rectangle;
114
+ }
94
115
 
95
116
  /**
96
117
  * Gets the map projection used by this tiling scheme.
97
- * @memberof WebMercatorTilingScheme.prototype
98
118
  * @type {MapProjection}
99
119
  */
100
- projection: {
101
- get: function () {
102
- return this._projection;
103
- },
104
- },
105
- });
120
+ get projection() {
121
+ return this._projection;
122
+ }
106
123
 
107
- /**
108
- * Gets the total number of tiles in the X direction at a specified level-of-detail.
109
- *
110
- * @param {number} level The level-of-detail.
111
- * @returns {number} The number of tiles in the X direction at the given level.
112
- */
113
- WebMercatorTilingScheme.prototype.getNumberOfXTilesAtLevel = function (level) {
114
- return this._numberOfLevelZeroTilesX << level;
115
- };
124
+ /**
125
+ * Gets the total number of tiles in the X direction at a specified level-of-detail.
126
+ *
127
+ * @param {number} level The level-of-detail.
128
+ * @returns {number} The number of tiles in the X direction at the given level.
129
+ */
130
+ getNumberOfXTilesAtLevel(level) {
131
+ return this._numberOfLevelZeroTilesX << level;
132
+ }
116
133
 
117
- /**
118
- * Gets the total number of tiles in the Y direction at a specified level-of-detail.
119
- *
120
- * @param {number} level The level-of-detail.
121
- * @returns {number} The number of tiles in the Y direction at the given level.
122
- */
123
- WebMercatorTilingScheme.prototype.getNumberOfYTilesAtLevel = function (level) {
124
- return this._numberOfLevelZeroTilesY << level;
125
- };
134
+ /**
135
+ * Gets the total number of tiles in the Y direction at a specified level-of-detail.
136
+ *
137
+ * @param {number} level The level-of-detail.
138
+ * @returns {number} The number of tiles in the Y direction at the given level.
139
+ */
140
+ getNumberOfYTilesAtLevel(level) {
141
+ return this._numberOfLevelZeroTilesY << level;
142
+ }
126
143
 
127
- /**
128
- * Transforms a rectangle specified in geodetic radians to the native coordinate system
129
- * of this tiling scheme.
130
- *
131
- * @param {Rectangle} rectangle The rectangle to transform.
132
- * @param {Rectangle} [result] The instance to which to copy the result, or undefined if a new instance
133
- * should be created.
134
- * @returns {Rectangle} The specified 'result', or a new object containing the native rectangle if 'result'
135
- * is undefined.
136
- */
137
- WebMercatorTilingScheme.prototype.rectangleToNativeRectangle = function (
138
- rectangle,
139
- result,
140
- ) {
141
- const projection = this._projection;
142
- const southwest = projection.project(Rectangle.southwest(rectangle));
143
- const northeast = projection.project(Rectangle.northeast(rectangle));
144
-
145
- if (!defined(result)) {
146
- return new Rectangle(southwest.x, southwest.y, northeast.x, northeast.y);
144
+ /**
145
+ * Transforms a rectangle specified in geodetic radians to the native coordinate system
146
+ * of this tiling scheme.
147
+ *
148
+ * @param {Rectangle} rectangle The rectangle to transform.
149
+ * @param {Rectangle} [result] The instance to which to copy the result, or undefined if a new instance
150
+ * should be created.
151
+ * @returns {Rectangle} The specified 'result', or a new object containing the native rectangle if 'result'
152
+ * is undefined.
153
+ */
154
+ rectangleToNativeRectangle(rectangle, result) {
155
+ const projection = this._projection;
156
+ const southwest = projection.project(Rectangle.southwest(rectangle));
157
+ const northeast = projection.project(Rectangle.northeast(rectangle));
158
+
159
+ if (!defined(result)) {
160
+ return new Rectangle(southwest.x, southwest.y, northeast.x, northeast.y);
161
+ }
162
+
163
+ result.west = southwest.x;
164
+ result.south = southwest.y;
165
+ result.east = northeast.x;
166
+ result.north = northeast.y;
167
+ return result;
147
168
  }
148
169
 
149
- result.west = southwest.x;
150
- result.south = southwest.y;
151
- result.east = northeast.x;
152
- result.north = northeast.y;
153
- return result;
154
- };
170
+ /**
171
+ * Converts tile x, y coordinates and level to a rectangle expressed in the native coordinates
172
+ * of the tiling scheme.
173
+ *
174
+ * @param {number} x The integer x coordinate of the tile.
175
+ * @param {number} y The integer y coordinate of the tile.
176
+ * @param {number} level The tile level-of-detail. Zero is the least detailed.
177
+ * @param {Rectangle} [result] The instance to which to copy the result, or undefined if a new instance
178
+ * should be created.
179
+ * @returns {Rectangle} The specified 'result', or a new object containing the rectangle
180
+ * if 'result' is undefined.
181
+ */
182
+ tileXYToNativeRectangle(x, y, level, result) {
183
+ const xTiles = this.getNumberOfXTilesAtLevel(level);
184
+ const yTiles = this.getNumberOfYTilesAtLevel(level);
155
185
 
156
- /**
157
- * Converts tile x, y coordinates and level to a rectangle expressed in the native coordinates
158
- * of the tiling scheme.
159
- *
160
- * @param {number} x The integer x coordinate of the tile.
161
- * @param {number} y The integer y coordinate of the tile.
162
- * @param {number} level The tile level-of-detail. Zero is the least detailed.
163
- * @param {object} [result] The instance to which to copy the result, or undefined if a new instance
164
- * should be created.
165
- * @returns {Rectangle} The specified 'result', or a new object containing the rectangle
166
- * if 'result' is undefined.
167
- */
168
- WebMercatorTilingScheme.prototype.tileXYToNativeRectangle = function (
169
- x,
170
- y,
171
- level,
172
- result,
173
- ) {
174
- const xTiles = this.getNumberOfXTilesAtLevel(level);
175
- const yTiles = this.getNumberOfYTilesAtLevel(level);
176
-
177
- const xTileWidth =
178
- (this._rectangleNortheastInMeters.x - this._rectangleSouthwestInMeters.x) /
179
- xTiles;
180
- const west = this._rectangleSouthwestInMeters.x + x * xTileWidth;
181
- const east = this._rectangleSouthwestInMeters.x + (x + 1) * xTileWidth;
182
-
183
- const yTileHeight =
184
- (this._rectangleNortheastInMeters.y - this._rectangleSouthwestInMeters.y) /
185
- yTiles;
186
- const north = this._rectangleNortheastInMeters.y - y * yTileHeight;
187
- const south = this._rectangleNortheastInMeters.y - (y + 1) * yTileHeight;
188
-
189
- if (!defined(result)) {
190
- return new Rectangle(west, south, east, north);
186
+ const xTileWidth =
187
+ (this._rectangleNortheastInMeters.x -
188
+ this._rectangleSouthwestInMeters.x) /
189
+ xTiles;
190
+ const west = this._rectangleSouthwestInMeters.x + x * xTileWidth;
191
+ const east = this._rectangleSouthwestInMeters.x + (x + 1) * xTileWidth;
192
+
193
+ const yTileHeight =
194
+ (this._rectangleNortheastInMeters.y -
195
+ this._rectangleSouthwestInMeters.y) /
196
+ yTiles;
197
+ const north = this._rectangleNortheastInMeters.y - y * yTileHeight;
198
+ const south = this._rectangleNortheastInMeters.y - (y + 1) * yTileHeight;
199
+
200
+ if (!defined(result)) {
201
+ return new Rectangle(west, south, east, north);
202
+ }
203
+
204
+ result.west = west;
205
+ result.south = south;
206
+ result.east = east;
207
+ result.north = north;
208
+ return result;
191
209
  }
192
210
 
193
- result.west = west;
194
- result.south = south;
195
- result.east = east;
196
- result.north = north;
197
- return result;
198
- };
211
+ /**
212
+ * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
213
+ *
214
+ * @param {number} x The integer x coordinate of the tile.
215
+ * @param {number} y The integer y coordinate of the tile.
216
+ * @param {number} level The tile level-of-detail. Zero is the least detailed.
217
+ * @param {Rectangle} [result] The instance to which to copy the result, or undefined if a new instance
218
+ * should be created.
219
+ * @returns {Rectangle} The specified 'result', or a new object containing the rectangle
220
+ * if 'result' is undefined.
221
+ */
222
+ tileXYToRectangle(x, y, level, result) {
223
+ const nativeRectangle = this.tileXYToNativeRectangle(x, y, level, result);
199
224
 
200
- /**
201
- * Converts tile x, y coordinates and level to a cartographic rectangle in radians.
202
- *
203
- * @param {number} x The integer x coordinate of the tile.
204
- * @param {number} y The integer y coordinate of the tile.
205
- * @param {number} level The tile level-of-detail. Zero is the least detailed.
206
- * @param {object} [result] The instance to which to copy the result, or undefined if a new instance
207
- * should be created.
208
- * @returns {Rectangle} The specified 'result', or a new object containing the rectangle
209
- * if 'result' is undefined.
210
- */
211
- WebMercatorTilingScheme.prototype.tileXYToRectangle = function (
212
- x,
213
- y,
214
- level,
215
- result,
216
- ) {
217
- const nativeRectangle = this.tileXYToNativeRectangle(x, y, level, result);
218
-
219
- const projection = this._projection;
220
- const southwest = projection.unproject(
221
- new Cartesian2(nativeRectangle.west, nativeRectangle.south),
222
- );
223
- const northeast = projection.unproject(
224
- new Cartesian2(nativeRectangle.east, nativeRectangle.north),
225
- );
226
-
227
- nativeRectangle.west = southwest.longitude;
228
- nativeRectangle.south = southwest.latitude;
229
- nativeRectangle.east = northeast.longitude;
230
- nativeRectangle.north = northeast.latitude;
231
- return nativeRectangle;
232
- };
225
+ const projection = this._projection;
226
+ const southwest = projection.unproject(
227
+ new Cartesian3(nativeRectangle.west, nativeRectangle.south),
228
+ );
229
+ const northeast = projection.unproject(
230
+ new Cartesian3(nativeRectangle.east, nativeRectangle.north),
231
+ );
233
232
 
234
- /**
235
- * Calculates the tile x, y coordinates of the tile containing
236
- * a given cartographic position.
237
- *
238
- * @param {Cartographic} position The position.
239
- * @param {number} level The tile level-of-detail. Zero is the least detailed.
240
- * @param {Cartesian2} [result] The instance to which to copy the result, or undefined if a new instance
241
- * should be created.
242
- * @returns {Cartesian2} The specified 'result', or a new object containing the tile x, y coordinates
243
- * if 'result' is undefined.
244
- */
245
- WebMercatorTilingScheme.prototype.positionToTileXY = function (
246
- position,
247
- level,
248
- result,
249
- ) {
250
- const rectangle = this._rectangle;
251
- if (!Rectangle.contains(rectangle, position)) {
252
- // outside the bounds of the tiling scheme
253
- return undefined;
233
+ nativeRectangle.west = southwest.longitude;
234
+ nativeRectangle.south = southwest.latitude;
235
+ nativeRectangle.east = northeast.longitude;
236
+ nativeRectangle.north = northeast.latitude;
237
+ return nativeRectangle;
254
238
  }
255
239
 
256
- const xTiles = this.getNumberOfXTilesAtLevel(level);
257
- const yTiles = this.getNumberOfYTilesAtLevel(level);
240
+ /**
241
+ * Calculates the tile x, y coordinates of the tile containing
242
+ * a given cartographic position.
243
+ *
244
+ * @param {Cartographic} position The position.
245
+ * @param {number} level The tile level-of-detail. Zero is the least detailed.
246
+ * @param {Cartesian2} [result] The instance to which to copy the result, or undefined if a new instance
247
+ * should be created.
248
+ * @returns {Cartesian2} The specified 'result', or a new object containing the tile x, y coordinates
249
+ * if 'result' is undefined.
250
+ */
251
+ positionToTileXY(position, level, result) {
252
+ const rectangle = this._rectangle;
253
+ if (!Rectangle.contains(rectangle, position)) {
254
+ // outside the bounds of the tiling scheme
255
+ return undefined;
256
+ }
258
257
 
259
- const overallWidth =
260
- this._rectangleNortheastInMeters.x - this._rectangleSouthwestInMeters.x;
261
- const xTileWidth = overallWidth / xTiles;
262
- const overallHeight =
263
- this._rectangleNortheastInMeters.y - this._rectangleSouthwestInMeters.y;
264
- const yTileHeight = overallHeight / yTiles;
258
+ const xTiles = this.getNumberOfXTilesAtLevel(level);
259
+ const yTiles = this.getNumberOfYTilesAtLevel(level);
265
260
 
266
- const projection = this._projection;
261
+ const overallWidth =
262
+ this._rectangleNortheastInMeters.x - this._rectangleSouthwestInMeters.x;
263
+ const xTileWidth = overallWidth / xTiles;
264
+ const overallHeight =
265
+ this._rectangleNortheastInMeters.y - this._rectangleSouthwestInMeters.y;
266
+ const yTileHeight = overallHeight / yTiles;
267
267
 
268
- const webMercatorPosition = projection.project(position);
269
- const distanceFromWest =
270
- webMercatorPosition.x - this._rectangleSouthwestInMeters.x;
271
- const distanceFromNorth =
272
- this._rectangleNortheastInMeters.y - webMercatorPosition.y;
268
+ const projection = this._projection;
273
269
 
274
- let xTileCoordinate = (distanceFromWest / xTileWidth) | 0;
275
- if (xTileCoordinate >= xTiles) {
276
- xTileCoordinate = xTiles - 1;
277
- }
278
- let yTileCoordinate = (distanceFromNorth / yTileHeight) | 0;
279
- if (yTileCoordinate >= yTiles) {
280
- yTileCoordinate = yTiles - 1;
281
- }
270
+ const webMercatorPosition = projection.project(position);
271
+ const distanceFromWest =
272
+ webMercatorPosition.x - this._rectangleSouthwestInMeters.x;
273
+ const distanceFromNorth =
274
+ this._rectangleNortheastInMeters.y - webMercatorPosition.y;
275
+
276
+ let xTileCoordinate = (distanceFromWest / xTileWidth) | 0;
277
+ if (xTileCoordinate >= xTiles) {
278
+ xTileCoordinate = xTiles - 1;
279
+ }
280
+ let yTileCoordinate = (distanceFromNorth / yTileHeight) | 0;
281
+ if (yTileCoordinate >= yTiles) {
282
+ yTileCoordinate = yTiles - 1;
283
+ }
282
284
 
283
- if (!defined(result)) {
284
- return new Cartesian2(xTileCoordinate, yTileCoordinate);
285
+ if (!defined(result)) {
286
+ return new Cartesian2(xTileCoordinate, yTileCoordinate);
287
+ }
288
+
289
+ result.x = xTileCoordinate;
290
+ result.y = yTileCoordinate;
291
+ return result;
285
292
  }
293
+ }
286
294
 
287
- result.x = xTileCoordinate;
288
- result.y = yTileCoordinate;
289
- return result;
290
- };
291
295
  export default WebMercatorTilingScheme;
@@ -33,4 +33,6 @@ WindingOrder.validate = function (windingOrder) {
33
33
  );
34
34
  };
35
35
 
36
- export default Object.freeze(WindingOrder);
36
+ Object.freeze(WindingOrder);
37
+
38
+ export default WindingOrder;
@@ -118,6 +118,7 @@ Batch.prototype.remove = function (updater) {
118
118
  if (defined(unsubscribe)) {
119
119
  unsubscribe();
120
120
  this.subscriptions.remove(id);
121
+ this.showsUpdated.remove(id);
121
122
  }
122
123
  return true;
123
124
  }
@@ -113,6 +113,7 @@ Batch.prototype.remove = function (updater) {
113
113
  if (defined(unsubscribe)) {
114
114
  unsubscribe();
115
115
  this.subscriptions.remove(id);
116
+ this.showsUpdated.remove(id);
116
117
  }
117
118
  return true;
118
119
  }
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * Defined the orientation of stripes in {@link StripeMaterialProperty}.
3
5
  *
@@ -16,4 +18,7 @@ const StripeOrientation = {
16
18
  */
17
19
  VERTICAL: 1,
18
20
  };
19
- export default Object.freeze(StripeOrientation);
21
+
22
+ Object.freeze(StripeOrientation);
23
+
24
+ export default StripeOrientation;
@@ -1,21 +1,32 @@
1
+ // @ts-check
2
+
1
3
  import WebGLConstants from "../Core/WebGLConstants.js";
2
4
 
3
5
  /**
4
6
  * @private
7
+ * @enum {number}
5
8
  */
6
9
  const BufferUsage = {
7
10
  STREAM_DRAW: WebGLConstants.STREAM_DRAW,
8
11
  STATIC_DRAW: WebGLConstants.STATIC_DRAW,
9
12
  DYNAMIC_DRAW: WebGLConstants.DYNAMIC_DRAW,
10
13
  DYNAMIC_READ: WebGLConstants.DYNAMIC_READ,
14
+ };
11
15
 
12
- validate: function (bufferUsage) {
13
- return (
14
- bufferUsage === BufferUsage.STREAM_DRAW ||
15
- bufferUsage === BufferUsage.STATIC_DRAW ||
16
- bufferUsage === BufferUsage.DYNAMIC_DRAW ||
17
- bufferUsage === BufferUsage.DYNAMIC_READ
18
- );
19
- },
16
+ /**
17
+ * @private
18
+ * @param {BufferUsage} bufferUsage
19
+ */
20
+ // @ts-expect-error https://github.com/CesiumGS/cesium/issues/13420
21
+ BufferUsage.validate = function (bufferUsage) {
22
+ return (
23
+ bufferUsage === BufferUsage.STREAM_DRAW ||
24
+ bufferUsage === BufferUsage.STATIC_DRAW ||
25
+ bufferUsage === BufferUsage.DYNAMIC_DRAW ||
26
+ bufferUsage === BufferUsage.DYNAMIC_READ
27
+ );
20
28
  };
21
- export default Object.freeze(BufferUsage);
29
+
30
+ Object.freeze(BufferUsage);
31
+
32
+ export default BufferUsage;