@cesium/engine 24.0.0 → 26.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 (362) hide show
  1. package/Build/Workers/{chunk-6WLHJFD3.js → chunk-3VFEWOBI.js} +59 -32
  2. package/Build/Workers/{chunk-UQU4RXLT.js → chunk-424RNO3D.js} +50 -45
  3. package/Build/Workers/chunk-4MGMYHOO.js +147 -0
  4. package/Build/Workers/{chunk-AMIHNSST.js → chunk-4S7IE3LB.js} +2 -2
  5. package/Build/Workers/{chunk-J6AW5YHS.js → chunk-52JDLOEM.js} +14 -14
  6. package/Build/Workers/{chunk-6RMS4S72.js → chunk-54I6Y66F.js} +6 -6
  7. package/Build/Workers/{chunk-C6P4IG5P.js → chunk-6YEE6JDR.js} +6 -6
  8. package/Build/Workers/{chunk-72VYSVEW.js → chunk-7J2HKPRH.js} +11 -10
  9. package/Build/Workers/{chunk-7O5XJTVE.js → chunk-7WM2PX4V.js} +5 -5
  10. package/Build/Workers/{chunk-5A2SW66E.js → chunk-ACXQXN46.js} +16 -16
  11. package/Build/Workers/{chunk-VLDEUTOP.js → chunk-AYKR4VBR.js} +2 -2
  12. package/Build/Workers/{chunk-YQFTYQMZ.js → chunk-C6J67V5A.js} +3 -2
  13. package/Build/Workers/{chunk-D4EJ2NXG.js → chunk-C6KNZ7T4.js} +17 -17
  14. package/Build/Workers/{chunk-7MDYBRYJ.js → chunk-CFQP6LYM.js} +4 -4
  15. package/Build/Workers/{chunk-YAOZMOFL.js → chunk-CXOYE2WM.js} +5 -5
  16. package/Build/Workers/{chunk-B6SCUUFP.js → chunk-CZEYZU4N.js} +10 -10
  17. package/Build/Workers/{chunk-NPF7SSHZ.js → chunk-DBOEKL43.js} +7 -7
  18. package/Build/Workers/{chunk-44EMEGKW.js → chunk-DDWSZVMY.js} +5 -5
  19. package/Build/Workers/{chunk-7X322WP2.js → chunk-DOBXCNC3.js} +13 -13
  20. package/Build/Workers/{chunk-JCI63T3K.js → chunk-E7VQ76KE.js} +6 -6
  21. package/Build/Workers/{chunk-7TYLCBGK.js → chunk-EBSIOBXY.js} +12 -10
  22. package/Build/Workers/{chunk-GQUNK2XC.js → chunk-EF2QYXGA.js} +14 -14
  23. package/Build/Workers/{chunk-BJD6QGXZ.js → chunk-EPYXRCDB.js} +12 -12
  24. package/Build/Workers/{chunk-63SIWPLS.js → chunk-F6QDY6HU.js} +13 -13
  25. package/Build/Workers/{chunk-XY6HMDGI.js → chunk-FRQZECAO.js} +5 -5
  26. package/Build/Workers/{chunk-VMVOUQ5J.js → chunk-G7PXZRVF.js} +7 -7
  27. package/Build/Workers/{chunk-N65BAKSH.js → chunk-INUEEEQA.js} +8 -8
  28. package/Build/Workers/{chunk-7QRFIKWQ.js → chunk-IRBKFCEJ.js} +2 -2
  29. package/Build/Workers/{chunk-UIGVOKKI.js → chunk-IYOUHCZB.js} +3 -2
  30. package/Build/Workers/{chunk-5GXYJQ2K.js → chunk-J6BWOHUF.js} +3 -3
  31. package/Build/Workers/{chunk-A47HVBC5.js → chunk-KFSTQKNM.js} +7 -7
  32. package/Build/Workers/{chunk-EV3VGO6Y.js → chunk-KKOSKAZB.js} +17 -17
  33. package/Build/Workers/{chunk-6MPGQEHA.js → chunk-KSSWJIZW.js} +2 -2
  34. package/Build/Workers/{chunk-DHKPFLSJ.js → chunk-M3B5JKSM.js} +3 -2
  35. package/Build/Workers/chunk-MPZHGZU6.js +2342 -0
  36. package/Build/Workers/{chunk-YJZGW74L.js → chunk-MYP774IS.js} +2213 -1349
  37. package/Build/Workers/{chunk-LIB2H534.js → chunk-O3EA5HS7.js} +12 -11
  38. package/Build/Workers/{chunk-ILMFADZA.js → chunk-P3CK7MCY.js} +27 -5
  39. package/Build/Workers/chunk-Q3PY526V.js +3201 -0
  40. package/Build/Workers/chunk-QN67VG36.js +973 -0
  41. package/Build/Workers/{chunk-XJRBB253.js → chunk-QRWGUWI6.js} +11 -11
  42. package/Build/Workers/{chunk-AF3MU2RL.js → chunk-S4MCOY6I.js} +7 -6
  43. package/Build/Workers/{chunk-Y7HNNPNK.js → chunk-SMQZZOW6.js} +10 -10
  44. package/Build/Workers/{chunk-PVV64VFW.js → chunk-TKKIREQ6.js} +3 -2
  45. package/Build/Workers/{chunk-MKM27KGV.js → chunk-U3ZA64U7.js} +2 -2
  46. package/Build/Workers/{chunk-2N4KDHS3.js → chunk-UA25D5MX.js} +12 -11
  47. package/Build/Workers/{chunk-RQNJD3O4.js → chunk-UOOIQ3KX.js} +12 -12
  48. package/Build/Workers/{chunk-GOQBUCXH.js → chunk-V7VQKN6N.js} +709 -431
  49. package/Build/Workers/{chunk-LXMCPFFS.js → chunk-VQYETPWC.js} +4 -4
  50. package/Build/Workers/{chunk-NKT5K3K3.js → chunk-VWV2IJRB.js} +13 -12
  51. package/Build/Workers/chunk-XZMBNNDX.js +1287 -0
  52. package/Build/Workers/{chunk-ISY4EZCA.js → chunk-Y57HREW5.js} +4 -4
  53. package/Build/Workers/{chunk-EDXL4W76.js → chunk-Y5BF6AFU.js} +2 -2
  54. package/Build/Workers/{chunk-Q3C6VQH6.js → chunk-YLY7NKAB.js} +4 -4
  55. package/Build/Workers/{chunk-4TIG36AW.js → chunk-ZK3CF7ZD.js} +12 -12
  56. package/Build/Workers/{chunk-AJLTU6PF.js → chunk-ZP7JMQV4.js} +4 -1
  57. package/Build/Workers/{chunk-HXJMS2ZI.js → chunk-ZZ46LWL6.js} +1 -1
  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/Cartesian2.js +1 -1
  116. package/Source/Core/Cartesian3.js +2 -3
  117. package/Source/Core/Cartesian4.js +1 -1
  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 +844 -835
  122. package/Source/Core/ComponentDatatype.js +39 -1
  123. package/Source/Core/CornerType.js +6 -1
  124. package/Source/Core/Credit.js +121 -124
  125. package/Source/Core/Ellipsoid.js +637 -660
  126. package/Source/Core/ExtrapolationType.js +6 -1
  127. package/Source/Core/GeocodeType.js +6 -1
  128. package/Source/Core/GeographicProjection.js +74 -74
  129. package/Source/Core/GeographicTilingScheme.js +179 -198
  130. package/Source/Core/GeometryOffsetAttribute.js +7 -1
  131. package/Source/Core/GeometryType.js +7 -1
  132. package/Source/Core/HeightmapEncoding.js +6 -1
  133. package/Source/Core/Iau2006XysData.js +24 -13
  134. package/Source/Core/IndexDatatype.js +3 -1
  135. package/Source/Core/InterpolationType.js +5 -1
  136. package/Source/Core/Intersect.js +6 -1
  137. package/Source/Core/Ion.js +1 -1
  138. package/Source/Core/IonGeocodeProviderType.js +5 -1
  139. package/Source/Core/JulianDate.js +850 -848
  140. package/Source/Core/KeyboardEventModifier.js +6 -1
  141. package/Source/Core/MapProjection.js +40 -44
  142. package/Source/Core/Matrix2.js +906 -893
  143. package/Source/Core/Matrix3.js +1643 -1575
  144. package/Source/Core/Matrix4.js +2903 -2872
  145. package/Source/Core/PixelFormat.js +3 -1
  146. package/Source/Core/PrimitiveType.js +11 -1
  147. package/Source/Core/Ray.js +62 -60
  148. package/Source/Core/Rectangle.js +913 -904
  149. package/Source/Core/ReferenceFrame.js +6 -1
  150. package/Source/Core/RequestScheduler.js +8 -3
  151. package/Source/Core/RequestState.js +6 -1
  152. package/Source/Core/RequestType.js +6 -1
  153. package/Source/Core/Resource.js +1 -1
  154. package/Source/Core/ScreenSpaceEventHandler.js +51 -41
  155. package/Source/Core/ScreenSpaceEventType.js +6 -1
  156. package/Source/Core/TerrainQuantization.js +6 -1
  157. package/Source/Core/TilingScheme.js +100 -98
  158. package/Source/Core/TimeConstants.js +6 -1
  159. package/Source/Core/TimeStandard.js +6 -1
  160. package/Source/Core/TrackingReferenceFrame.js +6 -1
  161. package/Source/Core/Visibility.js +6 -1
  162. package/Source/Core/VulkanConstants.js +6 -1
  163. package/Source/Core/WebGLConstants.js +6 -1
  164. package/Source/Core/WebMercatorProjection.js +108 -109
  165. package/Source/Core/WebMercatorTilingScheme.js +246 -242
  166. package/Source/Core/WindingOrder.js +3 -1
  167. package/Source/Core/createColorRamp.js +37 -0
  168. package/Source/Core/globalTypes.js +25 -0
  169. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +1 -0
  170. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -0
  171. package/Source/DataSources/StripeOrientation.js +6 -1
  172. package/Source/Renderer/BufferUsage.js +20 -9
  173. package/Source/Renderer/Context.js +2 -29
  174. package/Source/Renderer/DrawCommand.js +435 -403
  175. package/Source/Renderer/MipmapHint.js +5 -1
  176. package/Source/Renderer/Pass.js +10 -3
  177. package/Source/Renderer/PickId.js +44 -0
  178. package/Source/Renderer/PixelDatatype.js +3 -1
  179. package/Source/Renderer/RenderbufferFormat.js +5 -1
  180. package/Source/Renderer/ShaderDestination.js +4 -1
  181. package/Source/Renderer/TextureMagnificationFilter.js +3 -1
  182. package/Source/Renderer/TextureMinificationFilter.js +3 -1
  183. package/Source/Renderer/TextureWrap.js +5 -1
  184. package/Source/Renderer/createUniform.js +346 -239
  185. package/Source/Renderer/createUniformArray.js +494 -381
  186. package/Source/Scene/AlphaMode.js +5 -1
  187. package/Source/Scene/ArcGisBaseMapType.js +6 -1
  188. package/Source/Scene/ArcGisMapService.js +1 -1
  189. package/Source/Scene/AttributeType.js +3 -1
  190. package/Source/Scene/Axis.js +3 -1
  191. package/Source/Scene/BingMapsStyle.js +6 -1
  192. package/Source/Scene/BlendEquation.js +6 -1
  193. package/Source/Scene/BlendFunction.js +6 -1
  194. package/Source/Scene/BlendOption.js +6 -1
  195. package/Source/Scene/BlendingState.js +6 -1
  196. package/Source/Scene/BufferLoader.js +0 -2
  197. package/Source/Scene/BufferPoint.js +1 -0
  198. package/Source/Scene/BufferPointCollection.js +17 -1
  199. package/Source/Scene/BufferPolygon.js +3 -2
  200. package/Source/Scene/BufferPolygonCollection.js +13 -1
  201. package/Source/Scene/BufferPolyline.js +1 -0
  202. package/Source/Scene/BufferPolylineCollection.js +5 -1
  203. package/Source/Scene/BufferPrimitiveCollection.js +210 -43
  204. package/Source/Scene/CameraEventAggregator.js +30 -18
  205. package/Source/Scene/CameraEventType.js +6 -1
  206. package/Source/Scene/Cesium3DTile.js +54 -1
  207. package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
  208. package/Source/Scene/Cesium3DTileContent.js +195 -254
  209. package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
  210. package/Source/Scene/Cesium3DTileContentState.js +6 -1
  211. package/Source/Scene/Cesium3DTileContentType.js +3 -1
  212. package/Source/Scene/Cesium3DTileFeature.js +289 -306
  213. package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
  214. package/Source/Scene/Cesium3DTilePass.js +5 -1
  215. package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
  216. package/Source/Scene/Cesium3DTileRefine.js +6 -1
  217. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  218. package/Source/Scene/Cesium3DTileset.js +46 -6
  219. package/Source/Scene/ClassificationType.js +3 -1
  220. package/Source/Scene/CloudType.js +3 -1
  221. package/Source/Scene/ColorBlendMode.js +4 -1
  222. package/Source/Scene/Composite3DTileContent.js +254 -292
  223. package/Source/Scene/CullFace.js +6 -1
  224. package/Source/Scene/DepthFunction.js +6 -1
  225. package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
  226. package/Source/Scene/EdgeDisplayMode.js +50 -0
  227. package/Source/Scene/Empty3DTileContent.js +100 -132
  228. package/Source/Scene/EquirectangularPanorama.js +1 -0
  229. package/Source/Scene/ExpressionNodeType.js +6 -1
  230. package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
  231. package/Source/Scene/GeoJsonPrimitive.js +874 -0
  232. package/Source/Scene/Geometry3DTileContent.js +151 -185
  233. package/Source/Scene/GltfBufferViewLoader.js +0 -2
  234. package/Source/Scene/GltfDracoLoader.js +0 -2
  235. package/Source/Scene/GltfImageLoader.js +0 -3
  236. package/Source/Scene/GltfIndexBufferLoader.js +0 -4
  237. package/Source/Scene/GltfJsonLoader.js +0 -2
  238. package/Source/Scene/GltfLoader.js +109 -5
  239. package/Source/Scene/GltfLoaderUtil.js +14 -0
  240. package/Source/Scene/GltfSpzLoader.js +0 -2
  241. package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
  242. package/Source/Scene/GltfTextureLoader.js +0 -2
  243. package/Source/Scene/GltfVertexBufferLoader.js +0 -4
  244. package/Source/Scene/HeightReference.js +5 -1
  245. package/Source/Scene/HorizontalOrigin.js +6 -1
  246. package/Source/Scene/ImageryProvider.js +1 -1
  247. package/Source/Scene/ImageryState.js +6 -1
  248. package/Source/Scene/Implicit3DTileContent.js +179 -214
  249. package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
  250. package/Source/Scene/InstanceAttributeSemantic.js +3 -1
  251. package/Source/Scene/IonWorldImageryStyle.js +6 -1
  252. package/Source/Scene/JobType.js +6 -1
  253. package/Source/Scene/LabelStyle.js +6 -1
  254. package/Source/Scene/MVTDataProvider.js +147 -0
  255. package/Source/Scene/MapMode2D.js +6 -1
  256. package/Source/Scene/MetadataComponentType.js +3 -1
  257. package/Source/Scene/MetadataSchemaLoader.js +0 -2
  258. package/Source/Scene/MetadataSemantic.js +6 -2
  259. package/Source/Scene/MetadataType.js +3 -1
  260. package/Source/Scene/Model/B3dmLoader.js +0 -3
  261. package/Source/Scene/Model/CustomShaderMode.js +3 -1
  262. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
  263. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +78 -337
  264. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
  265. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
  266. package/Source/Scene/Model/GeoJsonLoader.js +0 -2
  267. package/Source/Scene/Model/I3dmLoader.js +0 -3
  268. package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
  269. package/Source/Scene/Model/LightingModel.js +5 -1
  270. package/Source/Scene/Model/MaterialPipelineStage.js +184 -3
  271. package/Source/Scene/Model/Model.js +34 -0
  272. package/Source/Scene/Model/Model3DTileContent.js +424 -458
  273. package/Source/Scene/Model/ModelDrawCommand.js +31 -3
  274. package/Source/Scene/Model/ModelReader.js +474 -3
  275. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
  276. package/Source/Scene/Model/ModelType.js +3 -1
  277. package/Source/Scene/Model/ModelUtility.js +4 -0
  278. package/Source/Scene/Model/PntsLoader.js +4 -3
  279. package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
  280. package/Source/Scene/Model/UniformType.js +5 -1
  281. package/Source/Scene/Model/VaryingType.js +5 -1
  282. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +500 -139
  283. package/Source/Scene/Model/pickModel.js +94 -299
  284. package/Source/Scene/ModelAnimationLoop.js +6 -1
  285. package/Source/Scene/ModelAnimationState.js +6 -1
  286. package/Source/Scene/ModelComponents.js +47 -2
  287. package/Source/Scene/Multiple3DTileContent.js +291 -334
  288. package/Source/Scene/PrimitiveState.js +7 -1
  289. package/Source/Scene/QuadtreeOccluders.js +20 -15
  290. package/Source/Scene/QuadtreeTile.js +547 -541
  291. package/Source/Scene/QuadtreeTileLoadState.js +6 -1
  292. package/Source/Scene/QuadtreeTileProvider.js +159 -175
  293. package/Source/Scene/ResourceLoader.js +0 -1
  294. package/Source/Scene/ResourceLoaderState.js +7 -1
  295. package/Source/Scene/Scene.js +26 -0
  296. package/Source/Scene/SceneMode.js +4 -1
  297. package/Source/Scene/ShadowMode.js +3 -1
  298. package/Source/Scene/SkyBox.js +1 -1
  299. package/Source/Scene/SplitDirection.js +6 -1
  300. package/Source/Scene/StencilFunction.js +6 -1
  301. package/Source/Scene/StencilOperation.js +6 -1
  302. package/Source/Scene/TerrainState.js +7 -1
  303. package/Source/Scene/TileState.js +7 -1
  304. package/Source/Scene/Tileset3DTileContent.js +113 -146
  305. package/Source/Scene/Tonemapper.js +5 -1
  306. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +499 -0
  307. package/Source/Scene/Vector3DTileContent.js +205 -234
  308. package/Source/Scene/VectorGltf3DTileContent.js +131 -61
  309. package/Source/Scene/VertexAttributeSemantic.js +3 -1
  310. package/Source/Scene/VerticalOrigin.js +6 -1
  311. package/Source/Scene/VoxelBoxShape.js +12 -6
  312. package/Source/Scene/VoxelContent.js +2 -0
  313. package/Source/Scene/VoxelCylinderShape.js +39 -38
  314. package/Source/Scene/VoxelEllipsoidShape.js +46 -96
  315. package/Source/Scene/VoxelMetadataOrder.js +6 -1
  316. package/Source/Scene/VoxelPrimitive.js +159 -175
  317. package/Source/Scene/VoxelProvider.js +64 -90
  318. package/Source/Scene/VoxelShapeType.js +3 -1
  319. package/Source/Scene/buildVectorGltfFromMVT.js +1059 -0
  320. package/Source/Scene/buildVoxelCustomShader.js +199 -0
  321. package/Source/Scene/decodeMVT.js +634 -0
  322. package/Source/Scene/renderBufferPointCollection.js +124 -127
  323. package/Source/Scene/renderBufferPolygonCollection.js +122 -122
  324. package/Source/Scene/renderBufferPolylineCollection.js +386 -238
  325. package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
  326. package/Source/Shaders/BufferPointMaterialFS.js +1 -0
  327. package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
  328. package/Source/Shaders/BufferPointMaterialVS.js +20 -10
  329. package/Source/Shaders/BufferPolygonMaterialVS.glsl +13 -4
  330. package/Source/Shaders/BufferPolygonMaterialVS.js +14 -5
  331. package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
  332. package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
  333. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
  334. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
  335. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  336. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  337. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
  338. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  339. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  340. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  341. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  342. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  343. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  344. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
  345. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
  346. package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
  347. package/Source/Shaders/Model/MaterialStageFS.js +46 -20
  348. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
  349. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
  350. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
  351. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
  352. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
  353. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
  354. package/Source/Widget/CesiumWidget.js +11 -4
  355. package/index.d.ts +595 -343
  356. package/index.js +392 -378
  357. package/package.json +3 -3
  358. package/Build/Workers/chunk-DVB56LG7.js +0 -114
  359. package/Build/Workers/chunk-HKUES6UG.js +0 -2357
  360. package/Build/Workers/chunk-HRHRYFHS.js +0 -940
  361. package/Build/Workers/chunk-KLPGTXS3.js +0 -642
  362. package/Build/Workers/chunk-ZBZRTRJB.js +0 -1829
@@ -13,147 +13,172 @@ import Vector3DTileGeometry from "./Vector3DTileGeometry.js";
13
13
  * Implements the {@link Cesium3DTileContent} interface.
14
14
  * </p>
15
15
  *
16
- * @alias Geometry3DTileContent
17
- * @constructor
18
- *
16
+ * @implements Cesium3DTileContent
19
17
  * @private
20
18
  */
21
- function Geometry3DTileContent(
22
- tileset,
23
- tile,
24
- resource,
25
- arrayBuffer,
26
- byteOffset,
27
- ) {
28
- this._tileset = tileset;
29
- this._tile = tile;
30
- this._resource = resource;
31
- this._geometries = undefined;
32
-
33
- this._metadata = undefined;
34
-
35
- this._batchTable = undefined;
36
- this._features = undefined;
19
+ class Geometry3DTileContent {
20
+ constructor(tileset, tile, resource, arrayBuffer, byteOffset) {
21
+ this._tileset = tileset;
22
+ this._tile = tile;
23
+ this._resource = resource;
24
+ this._geometries = undefined;
37
25
 
38
- /**
39
- * Part of the {@link Cesium3DTileContent} interface.
40
- */
41
- this.featurePropertiesDirty = false;
42
- this._group = undefined;
26
+ this._metadata = undefined;
43
27
 
44
- this._ready = false;
28
+ this._batchTable = undefined;
29
+ this._features = undefined;
45
30
 
46
- initialize(this, arrayBuffer, byteOffset);
47
- }
31
+ /**
32
+ * Part of the {@link Cesium3DTileContent} interface.
33
+ */
34
+ this.featurePropertiesDirty = false;
35
+ this._group = undefined;
48
36
 
49
- Object.defineProperties(Geometry3DTileContent.prototype, {
50
- featuresLength: {
51
- get: function () {
52
- return defined(this._batchTable) ? this._batchTable.featuresLength : 0;
53
- },
54
- },
55
-
56
- pointsLength: {
57
- get: function () {
58
- return 0;
59
- },
60
- },
61
-
62
- trianglesLength: {
63
- get: function () {
64
- if (defined(this._geometries)) {
65
- return this._geometries.trianglesLength;
66
- }
67
- return 0;
68
- },
69
- },
70
-
71
- geometryByteLength: {
72
- get: function () {
73
- if (defined(this._geometries)) {
74
- return this._geometries.geometryByteLength;
75
- }
76
- return 0;
77
- },
78
- },
79
-
80
- texturesByteLength: {
81
- get: function () {
82
- return 0;
83
- },
84
- },
85
-
86
- batchTableByteLength: {
87
- get: function () {
88
- return defined(this._batchTable)
89
- ? this._batchTable.batchTableByteLength
90
- : 0;
91
- },
92
- },
93
-
94
- innerContents: {
95
- get: function () {
96
- return undefined;
97
- },
98
- },
37
+ this._ready = false;
38
+
39
+ initialize(this, arrayBuffer, byteOffset);
40
+ }
41
+
42
+ get featuresLength() {
43
+ return defined(this._batchTable) ? this._batchTable.featuresLength : 0;
44
+ }
45
+
46
+ get pointsLength() {
47
+ return 0;
48
+ }
49
+
50
+ get trianglesLength() {
51
+ if (defined(this._geometries)) {
52
+ return this._geometries.trianglesLength;
53
+ }
54
+ return 0;
55
+ }
56
+
57
+ get geometryByteLength() {
58
+ if (defined(this._geometries)) {
59
+ return this._geometries.geometryByteLength;
60
+ }
61
+ return 0;
62
+ }
63
+
64
+ get texturesByteLength() {
65
+ return 0;
66
+ }
67
+
68
+ get batchTableByteLength() {
69
+ return defined(this._batchTable)
70
+ ? this._batchTable.batchTableByteLength
71
+ : 0;
72
+ }
73
+
74
+ get innerContents() {
75
+ return undefined;
76
+ }
99
77
 
100
78
  /**
101
79
  * Returns true when the tile's content is ready to render; otherwise false
102
80
  *
103
- * @memberof Geometry3DTileContent.prototype
104
81
  *
105
82
  * @type {boolean}
106
83
  * @readonly
107
84
  * @private
108
85
  */
109
- ready: {
110
- get: function () {
111
- return this._ready;
112
- },
113
- },
114
-
115
- tileset: {
116
- get: function () {
117
- return this._tileset;
118
- },
119
- },
120
-
121
- tile: {
122
- get: function () {
123
- return this._tile;
124
- },
125
- },
126
-
127
- url: {
128
- get: function () {
129
- return this._resource.getUrlComponent(true);
130
- },
131
- },
132
-
133
- metadata: {
134
- get: function () {
135
- return this._metadata;
136
- },
137
- set: function (value) {
138
- this._metadata = value;
139
- },
140
- },
141
-
142
- batchTable: {
143
- get: function () {
144
- return this._batchTable;
145
- },
146
- },
147
-
148
- group: {
149
- get: function () {
150
- return this._group;
151
- },
152
- set: function (value) {
153
- this._group = value;
154
- },
155
- },
156
- });
86
+ get ready() {
87
+ return this._ready;
88
+ }
89
+
90
+ get tileset() {
91
+ return this._tileset;
92
+ }
93
+
94
+ get tile() {
95
+ return this._tile;
96
+ }
97
+
98
+ get url() {
99
+ return this._resource.getUrlComponent(true);
100
+ }
101
+
102
+ get metadata() {
103
+ return this._metadata;
104
+ }
105
+
106
+ set metadata(value) {
107
+ this._metadata = value;
108
+ }
109
+
110
+ get batchTable() {
111
+ return this._batchTable;
112
+ }
113
+
114
+ get group() {
115
+ return this._group;
116
+ }
117
+
118
+ set group(value) {
119
+ this._group = value;
120
+ }
121
+
122
+ hasProperty(batchId, name) {
123
+ return this._batchTable.hasProperty(batchId, name);
124
+ }
125
+
126
+ getFeature(batchId) {
127
+ //>>includeStart('debug', pragmas.debug);
128
+ const featuresLength = this.featuresLength;
129
+ if (!defined(batchId) || batchId < 0 || batchId >= featuresLength) {
130
+ throw new DeveloperError(
131
+ `batchId is required and between zero and featuresLength - 1 (${
132
+ featuresLength - 1
133
+ }).`,
134
+ );
135
+ }
136
+ //>>includeEnd('debug');
137
+
138
+ createFeatures(this);
139
+ return this._features[batchId];
140
+ }
141
+
142
+ applyDebugSettings(enabled, color) {
143
+ if (defined(this._geometries)) {
144
+ this._geometries.applyDebugSettings(enabled, color);
145
+ }
146
+ }
147
+
148
+ applyStyle(style) {
149
+ createFeatures(this);
150
+ if (defined(this._geometries)) {
151
+ this._geometries.applyStyle(style, this._features);
152
+ }
153
+ }
154
+
155
+ update(tileset, frameState) {
156
+ if (defined(this._geometries)) {
157
+ this._geometries.classificationType = this._tileset.classificationType;
158
+ this._geometries.debugWireframe = this._tileset.debugWireframe;
159
+ this._geometries.update(frameState);
160
+ }
161
+
162
+ if (defined(this._batchTable) && this._geometries.ready) {
163
+ this._batchTable.update(tileset, frameState);
164
+ this._ready = true;
165
+ }
166
+ }
167
+
168
+ pick(ray, frameState, result) {
169
+ return undefined;
170
+ }
171
+
172
+ isDestroyed() {
173
+ return false;
174
+ }
175
+
176
+ destroy() {
177
+ this._geometries = this._geometries && this._geometries.destroy();
178
+ this._batchTable = this._batchTable && this._batchTable.destroy();
179
+ return destroyObject(this);
180
+ }
181
+ }
157
182
 
158
183
  function createColorChangedCallback(content) {
159
184
  return function (batchId, color) {
@@ -472,63 +497,4 @@ function createFeatures(content) {
472
497
  }
473
498
  }
474
499
 
475
- Geometry3DTileContent.prototype.hasProperty = function (batchId, name) {
476
- return this._batchTable.hasProperty(batchId, name);
477
- };
478
-
479
- Geometry3DTileContent.prototype.getFeature = function (batchId) {
480
- //>>includeStart('debug', pragmas.debug);
481
- const featuresLength = this.featuresLength;
482
- if (!defined(batchId) || batchId < 0 || batchId >= featuresLength) {
483
- throw new DeveloperError(
484
- `batchId is required and between zero and featuresLength - 1 (${
485
- featuresLength - 1
486
- }).`,
487
- );
488
- }
489
- //>>includeEnd('debug');
490
-
491
- createFeatures(this);
492
- return this._features[batchId];
493
- };
494
-
495
- Geometry3DTileContent.prototype.applyDebugSettings = function (enabled, color) {
496
- if (defined(this._geometries)) {
497
- this._geometries.applyDebugSettings(enabled, color);
498
- }
499
- };
500
-
501
- Geometry3DTileContent.prototype.applyStyle = function (style) {
502
- createFeatures(this);
503
- if (defined(this._geometries)) {
504
- this._geometries.applyStyle(style, this._features);
505
- }
506
- };
507
-
508
- Geometry3DTileContent.prototype.update = function (tileset, frameState) {
509
- if (defined(this._geometries)) {
510
- this._geometries.classificationType = this._tileset.classificationType;
511
- this._geometries.debugWireframe = this._tileset.debugWireframe;
512
- this._geometries.update(frameState);
513
- }
514
-
515
- if (defined(this._batchTable) && this._geometries.ready) {
516
- this._batchTable.update(tileset, frameState);
517
- this._ready = true;
518
- }
519
- };
520
-
521
- Geometry3DTileContent.prototype.pick = function (ray, frameState, result) {
522
- return undefined;
523
- };
524
-
525
- Geometry3DTileContent.prototype.isDestroyed = function () {
526
- return false;
527
- };
528
-
529
- Geometry3DTileContent.prototype.destroy = function () {
530
- this._geometries = this._geometries && this._geometries.destroy();
531
- this._batchTable = this._batchTable && this._batchTable.destroy();
532
- return destroyObject(this);
533
- };
534
500
  export default Geometry3DTileContent;
@@ -92,7 +92,6 @@ class GltfBufferViewLoader extends ResourceLoader {
92
92
  /**
93
93
  * The cache key of the resource.
94
94
  *
95
- * @memberof GltfBufferViewLoader.prototype
96
95
  *
97
96
  * @type {string}
98
97
  * @readonly
@@ -105,7 +104,6 @@ class GltfBufferViewLoader extends ResourceLoader {
105
104
  /**
106
105
  * The typed array containing buffer view data.
107
106
  *
108
- * @memberof GltfBufferViewLoader.prototype
109
107
  *
110
108
  * @type {Uint8Array}
111
109
  * @readonly
@@ -66,7 +66,6 @@ class GltfDracoLoader extends ResourceLoader {
66
66
  /**
67
67
  * The cache key of the resource.
68
68
  *
69
- * @memberof GltfDracoLoader.prototype
70
69
  *
71
70
  * @type {string}
72
71
  * @readonly
@@ -79,7 +78,6 @@ class GltfDracoLoader extends ResourceLoader {
79
78
  /**
80
79
  * The decoded data.
81
80
  *
82
- * @memberof GltfDracoLoader.prototype
83
81
  *
84
82
  * @type {object}
85
83
  * @readonly
@@ -65,7 +65,6 @@ class GltfImageLoader extends ResourceLoader {
65
65
  /**
66
66
  * The cache key of the resource.
67
67
  *
68
- * @memberof GltfImageLoader.prototype
69
68
  *
70
69
  * @type {string}
71
70
  * @readonly
@@ -78,7 +77,6 @@ class GltfImageLoader extends ResourceLoader {
78
77
  /**
79
78
  * The image.
80
79
  *
81
- * @memberof GltfImageLoader.prototype
82
80
  *
83
81
  * @type {Image|ImageBitmap|CompressedTextureBuffer}
84
82
  * @readonly
@@ -91,7 +89,6 @@ class GltfImageLoader extends ResourceLoader {
91
89
  /**
92
90
  * The mip levels. Only defined for KTX2 files containing mip levels.
93
91
  *
94
- * @memberof GltfImageLoader.prototype
95
92
  *
96
93
  * @type {Uint8Array[]}
97
94
  * @readonly
@@ -88,7 +88,6 @@ class GltfIndexBufferLoader extends ResourceLoader {
88
88
  /**
89
89
  * The cache key of the resource.
90
90
  *
91
- * @memberof GltfIndexBufferLoader.prototype
92
91
  *
93
92
  * @type {string}
94
93
  * @readonly
@@ -101,7 +100,6 @@ class GltfIndexBufferLoader extends ResourceLoader {
101
100
  /**
102
101
  * The index buffer. This is only defined when <code>loadBuffer</code> is true.
103
102
  *
104
- * @memberof GltfIndexBufferLoader.prototype
105
103
  *
106
104
  * @type {Buffer}
107
105
  * @readonly
@@ -114,7 +112,6 @@ class GltfIndexBufferLoader extends ResourceLoader {
114
112
  /**
115
113
  * The typed array containing indices. This is only defined when <code>loadTypedArray</code> is true.
116
114
  *
117
- * @memberof GltfIndexBufferLoader.prototype
118
115
  *
119
116
  * @type {Uint8Array|Uint16Array|Uint32Array}
120
117
  * @readonly
@@ -127,7 +124,6 @@ class GltfIndexBufferLoader extends ResourceLoader {
127
124
  /**
128
125
  * The index datatype after decode.
129
126
  *
130
- * @memberof GltfIndexBufferLoader.prototype
131
127
  *
132
128
  * @type {IndexDatatype}
133
129
  * @readonly
@@ -67,7 +67,6 @@ class GltfJsonLoader extends ResourceLoader {
67
67
  /**
68
68
  * The cache key of the resource.
69
69
  *
70
- * @memberof GltfJsonLoader.prototype
71
70
  *
72
71
  * @type {string}
73
72
  * @readonly
@@ -80,7 +79,6 @@ class GltfJsonLoader extends ResourceLoader {
80
79
  /**
81
80
  * The glTF JSON.
82
81
  *
83
- * @memberof GltfJsonLoader.prototype
84
82
  *
85
83
  * @type {object}
86
84
  * @readonly
@@ -64,6 +64,7 @@ const {
64
64
  LineStyle,
65
65
  Material,
66
66
  Vector,
67
+ Polygon,
67
68
  } = ModelComponents;
68
69
 
69
70
  /**
@@ -287,7 +288,6 @@ class GltfLoader extends ResourceLoader {
287
288
  /**
288
289
  * The cache key of the resource.
289
290
  *
290
- * @memberof GltfLoader.prototype
291
291
  *
292
292
  * @type {string}
293
293
  * @readonly
@@ -300,7 +300,6 @@ class GltfLoader extends ResourceLoader {
300
300
  /**
301
301
  * The loaded components.
302
302
  *
303
- * @memberof GltfLoader.prototype
304
303
  *
305
304
  * @type {ModelComponents.Components}
306
305
  * @readonly
@@ -313,7 +312,6 @@ class GltfLoader extends ResourceLoader {
313
312
  /**
314
313
  * The loaded glTF json.
315
314
  *
316
- * @memberof GltfLoader.prototype
317
315
  *
318
316
  * @type {object}
319
317
  * @readonly
@@ -329,7 +327,6 @@ class GltfLoader extends ResourceLoader {
329
327
  /**
330
328
  * Returns true if textures are loaded separately from the other glTF resources.
331
329
  *
332
- * @memberof GltfLoader.prototype
333
330
  *
334
331
  * @type {boolean}
335
332
  * @readonly
@@ -342,7 +339,6 @@ class GltfLoader extends ResourceLoader {
342
339
  /**
343
340
  * true if textures are loaded, useful when incrementallyLoadTextures is true
344
341
  *
345
- * @memberof GltfLoader.prototype
346
342
  *
347
343
  * @type {boolean}
348
344
  * @readonly
@@ -904,6 +900,38 @@ function loadAccessor(loader, accessor, useQuaternion) {
904
900
  return loadDefaultAccessorValues(accessor, values);
905
901
  }
906
902
 
903
+ function loadAccessorTypedArray(loader, accessor) {
904
+ const values = ComponentDatatype.createTypedArray(
905
+ accessor.componentType,
906
+ accessor.count * AttributeType.getNumberOfComponents(accessor.type),
907
+ );
908
+
909
+ if (!defined(accessor.bufferView)) {
910
+ return values;
911
+ }
912
+
913
+ const bufferViewLoader = getBufferViewLoader(loader, accessor.bufferView);
914
+
915
+ // Save a link to the gltfJson, which is removed after bufferViewLoader.load()
916
+ const { gltfJson } = loader;
917
+
918
+ const promise = bufferViewLoader.load().then(() => {
919
+ if (loader.isDestroyed()) {
920
+ return;
921
+ }
922
+ const result = getPackedTypedArray(
923
+ gltfJson,
924
+ accessor,
925
+ bufferViewLoader.typedArray,
926
+ );
927
+ values.set(result);
928
+ });
929
+
930
+ loader._loaderPromises.push(promise);
931
+
932
+ return values;
933
+ }
934
+
907
935
  function fromArray(MathType, values) {
908
936
  if (!defined(values)) {
909
937
  return undefined;
@@ -2213,6 +2241,17 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
2213
2241
  }
2214
2242
 
2215
2243
  const extensions = gltfPrimitive.extensions ?? Frozen.EMPTY_OBJECT;
2244
+
2245
+ const polygonExtension = extensions.EXT_mesh_polygon;
2246
+ if (defined(polygonExtension)) {
2247
+ primitive.polygon = loadMeshPolygonExtension(
2248
+ loader,
2249
+ gltfPrimitive,
2250
+ polygonExtension,
2251
+ );
2252
+ }
2253
+
2254
+ // @deprecated CESIUM_mesh_vector to be removed after v1.142 release.
2216
2255
  const meshVectorExtension = extensions.CESIUM_mesh_vector;
2217
2256
  if (defined(meshVectorExtension)) {
2218
2257
  primitive.vector = loadMeshVectorExtension(loader, meshVectorExtension);
@@ -2370,12 +2409,77 @@ function loadPrimitiveOutline(loader, outlineExtension) {
2370
2409
  return loadAccessor(loader, accessor, useQuaternion);
2371
2410
  }
2372
2411
 
2412
+ /**
2413
+ * @typedef {object} EXTMeshPolygonExtension
2414
+ * @property {number} count
2415
+ * @property {number} indicesOffsets
2416
+ * @property {number} [loopIndices]
2417
+ * @property {number} [loopIndicesOffsets]
2418
+ * @property {number} [triangleIndices]
2419
+ * @property {number} [triangleIndicesOffsets]
2420
+ */
2421
+
2422
+ /**
2423
+ * Load EXT_mesh_polygon.
2424
+ * @param {GltfLoader} loader
2425
+ * @param {object} gltfPrimitive
2426
+ * @param {EXTMeshPolygonExtension} polygonExtension
2427
+ * @returns {ModelComponents.Polygon}
2428
+ * @ignore
2429
+ */
2430
+ function loadMeshPolygonExtension(loader, gltfPrimitive, polygonExtension) {
2431
+ const result = new Polygon();
2432
+ const accessors = loader.gltfJson.accessors;
2433
+
2434
+ result.count = polygonExtension.count;
2435
+
2436
+ // See ModelComponents.Polygon definition.
2437
+ if (gltfPrimitive.mode === PrimitiveType.LINE_LOOP) {
2438
+ result.loopIndices = loadAccessorTypedArray(
2439
+ loader,
2440
+ accessors[gltfPrimitive.indices],
2441
+ );
2442
+ result.loopIndicesOffsets = loadAccessorTypedArray(
2443
+ loader,
2444
+ accessors[polygonExtension.indicesOffsets],
2445
+ );
2446
+ result.triangleIndices = loadAccessorTypedArray(
2447
+ loader,
2448
+ accessors[polygonExtension.triangleIndices],
2449
+ );
2450
+ result.triangleIndicesOffsets = loadAccessorTypedArray(
2451
+ loader,
2452
+ accessors[polygonExtension.triangleIndicesOffsets],
2453
+ );
2454
+ } else if (gltfPrimitive.mode === PrimitiveType.TRIANGLES) {
2455
+ result.loopIndices = loadAccessorTypedArray(
2456
+ loader,
2457
+ accessors[polygonExtension.loopIndices],
2458
+ );
2459
+ result.loopIndicesOffsets = loadAccessorTypedArray(
2460
+ loader,
2461
+ accessors[polygonExtension.loopIndicesOffsets],
2462
+ );
2463
+ result.triangleIndices = loadAccessorTypedArray(
2464
+ loader,
2465
+ accessors[gltfPrimitive.indices],
2466
+ );
2467
+ result.triangleIndicesOffsets = loadAccessorTypedArray(
2468
+ loader,
2469
+ accessors[polygonExtension.indicesOffsets],
2470
+ );
2471
+ }
2472
+
2473
+ return result;
2474
+ }
2475
+
2373
2476
  /**
2374
2477
  * Load CESIUM_mesh_vector.
2375
2478
  * @param {GltfLoader} loader
2376
2479
  * @param {*} meshVectorExtension
2377
2480
  * @returns {ModelComponents.Vector}
2378
2481
  * @ignore
2482
+ * @deprecated
2379
2483
  */
2380
2484
  function loadMeshVectorExtension(loader, meshVectorExtension) {
2381
2485
  if (!defined(meshVectorExtension)) {
@@ -178,6 +178,20 @@ GltfLoaderUtil.createModelTextureReader = function (options) {
178
178
  modelTextureReader.transform = transform;
179
179
  modelTextureReader.channels = channels;
180
180
 
181
+ // EXT_textureInfo_constant_lod extension
182
+ const constantLodExtension =
183
+ textureInfo.extensions?.EXT_textureInfo_constant_lod;
184
+ if (defined(constantLodExtension)) {
185
+ modelTextureReader.constantLod = {
186
+ repetitions: constantLodExtension.repetitions ?? 1.0,
187
+ offset: defined(constantLodExtension.offset)
188
+ ? Cartesian2.unpack(constantLodExtension.offset)
189
+ : Cartesian2.ZERO,
190
+ minClampDistance: constantLodExtension.minClampDistance ?? 1.0,
191
+ maxClampDistance: constantLodExtension.maxClampDistance ?? 4294967296.0,
192
+ };
193
+ }
194
+
181
195
  return modelTextureReader;
182
196
  };
183
197
 
@@ -141,7 +141,6 @@ class GltfSpzLoader extends ResourceLoader {
141
141
 
142
142
  /**
143
143
  * The cache key of the resource.
144
- * @memberof GltfSpzLoader.prototype
145
144
  * @type {string}
146
145
  * @readonly
147
146
  * @private
@@ -152,7 +151,6 @@ class GltfSpzLoader extends ResourceLoader {
152
151
 
153
152
  /**
154
153
  * The decoded SPZ data.
155
- * @memberof GltfSpzLoader.prototype
156
154
  * @type {object}
157
155
  * @readonly
158
156
  * @private
@@ -82,7 +82,6 @@ class GltfStructuralMetadataLoader extends ResourceLoader {
82
82
  /**
83
83
  * The cache key of the resource.
84
84
  *
85
- * @memberof GltfStructuralMetadataLoader.prototype
86
85
  *
87
86
  * @type {string}
88
87
  * @readonly
@@ -95,7 +94,6 @@ class GltfStructuralMetadataLoader extends ResourceLoader {
95
94
  /**
96
95
  * The parsed structural metadata
97
96
  *
98
- * @memberof GltfStructuralMetadataLoader.prototype
99
97
  *
100
98
  * @type {StructuralMetadata}
101
99
  * @readonly