@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
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * The refinement approach for a tile.
3
5
  * <p>
@@ -26,4 +28,7 @@ const Cesium3DTileRefine = {
26
28
  */
27
29
  REPLACE: 1,
28
30
  };
29
- export default Object.freeze(Cesium3DTileRefine);
31
+
32
+ Object.freeze(Cesium3DTileRefine);
33
+
34
+ export default Cesium3DTileRefine;
@@ -0,0 +1,586 @@
1
+ // @ts-check
2
+
3
+ import DeveloperError from "../Core/DeveloperError.js";
4
+ import BufferPoint from "./BufferPoint.js";
5
+ import BufferPointCollection from "./BufferPointCollection.js";
6
+ import BufferPointMaterial from "./BufferPointMaterial.js";
7
+ import BufferPolygon from "./BufferPolygon.js";
8
+ import BufferPolygonCollection from "./BufferPolygonCollection.js";
9
+ import BufferPolygonMaterial from "./BufferPolygonMaterial.js";
10
+ import BufferPolyline from "./BufferPolyline.js";
11
+ import BufferPolylineCollection from "./BufferPolylineCollection.js";
12
+ import BufferPolylineMaterial from "./BufferPolylineMaterial.js";
13
+ import Cesium3DTileFeature from "./Cesium3DTileFeature.js";
14
+ import Color from "../Core/Color.js";
15
+ import defined from "../Core/defined.js";
16
+
17
+ /** @import BufferPrimitive from "./BufferPrimitive.js"; */
18
+ /** @import BufferPrimitiveMaterial from "./BufferPrimitiveMaterial.js"; */
19
+ /** @import Cesium3DTileBatchTable from "./Cesium3DTileBatchTable.js"; */
20
+ /** @import Cesium3DTileContent from "./Cesium3DTileContent.js"; */
21
+ /** @import Cesium3DTileset from "./Cesium3DTileset.js"; */
22
+ /** @import VectorGltf3DTileContent from "./VectorGltf3DTileContent.js"; */
23
+
24
+ const point = new BufferPoint();
25
+ const polyline = new BufferPolyline();
26
+ const polygon = new BufferPolygon();
27
+
28
+ const pointMaterial = new BufferPointMaterial();
29
+ const polylineMaterial = new BufferPolylineMaterial();
30
+ const polygonMaterial = new BufferPolygonMaterial();
31
+
32
+ /**
33
+ * A vector feature of a {@link Cesium3DTileset}.
34
+ * <p>
35
+ * Provides access to a feature's properties stored in the tile's batch table, as well
36
+ * as the ability to show/hide and style the feature
37
+ * </p>
38
+ * <p>
39
+ * Modifications to a <code>Cesium3DTileVectorFeature</code> object have the lifetime of the tile's
40
+ * content. If the tile's content is unloaded, e.g., due to it going out of view and needing
41
+ * to free space in the cache for visible tiles, listen to the {@link Cesium3DTileset#tileUnload} event to save any
42
+ * modifications. Also listen to the {@link Cesium3DTileset#tileVisible} event to reapply any modifications.
43
+ * </p>
44
+ * <p>
45
+ * Do not construct this directly. Access it through {@link Cesium3DTileContent#getFeature}
46
+ * or picking using {@link Scene#pick} and {@link Scene#pickPosition}.
47
+ * </p>
48
+ *
49
+ * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
50
+ *
51
+ * @example
52
+ * // On mouse over, display all the properties for a feature in the console log.
53
+ * handler.setInputAction(function(movement) {
54
+ * const feature = scene.pick(movement.endPosition);
55
+ * if (feature instanceof Cesium.Cesium3DTileVectorFeature) {
56
+ * const propertyIds = feature.getPropertyIds();
57
+ * const length = propertyIds.length;
58
+ * for (let i = 0; i < length; ++i) {
59
+ * const propertyId = propertyIds[i];
60
+ * console.log(`{propertyId}: ${feature.getProperty(propertyId)}`);
61
+ * }
62
+ * }
63
+ * }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
64
+ *
65
+ * @ignore
66
+ */
67
+ class Cesium3DTileVectorFeature {
68
+ /** @private */
69
+ _color = new Color();
70
+
71
+ /** @private */
72
+ _outlineColor = new Color();
73
+
74
+ /**
75
+ * @param {VectorGltf3DTileContent} content
76
+ * @param {number} batchId
77
+ * @param {number} [batchTableId=0]
78
+ */
79
+ constructor(content, batchId, batchTableId = 0) {
80
+ this._content = content;
81
+ this._batchId = batchId;
82
+ this._batchTableId = batchTableId;
83
+
84
+ /**
85
+ * For each collection index N, this map returns the indices of all
86
+ * primitive in the collection associated with this feature.
87
+ * @type {Map<number, number[]>}
88
+ * @private
89
+ */
90
+ this._primitivesByCollection = new Map();
91
+ }
92
+
93
+ /**
94
+ * @param {number} collectionIndex
95
+ * @param {number} primitiveIndex
96
+ */
97
+ addPrimitiveByCollection(collectionIndex, primitiveIndex) {
98
+ let primitiveIndices = this._primitivesByCollection.get(collectionIndex);
99
+ if (!primitiveIndices) {
100
+ primitiveIndices = [];
101
+ this._primitivesByCollection.set(collectionIndex, primitiveIndices);
102
+ }
103
+ primitiveIndices.push(primitiveIndex);
104
+ }
105
+
106
+ /**
107
+ * @type {boolean}
108
+ * @default true
109
+ */
110
+ get show() {
111
+ for (const prim of this._iteratePrimitives()) {
112
+ if (prim.show) {
113
+ return true;
114
+ }
115
+ }
116
+ return false;
117
+ }
118
+
119
+ set show(value) {
120
+ for (const prim of this._iteratePrimitives()) {
121
+ prim.show = value;
122
+ }
123
+ }
124
+
125
+ /**
126
+ * @type {Color}
127
+ * @default Color.WHITE
128
+ */
129
+ get color() {
130
+ for (const material of this._iterateMaterials()) {
131
+ return Color.clone(material.color, this._color);
132
+ }
133
+ return Color.clone(Color.WHITE, this._color);
134
+ }
135
+
136
+ set color(value) {
137
+ for (const material of this._iterateMaterials()) {
138
+ Color.clone(value, material.color);
139
+ }
140
+ }
141
+
142
+ /**
143
+ * @type {number}
144
+ * @default 1
145
+ */
146
+ get pointSize() {
147
+ for (const material of this._iteratePointMaterials()) {
148
+ return material.size;
149
+ }
150
+ return 1;
151
+ }
152
+
153
+ set pointSize(value) {
154
+ for (const material of this._iteratePointMaterials()) {
155
+ material.size = value;
156
+ }
157
+ }
158
+
159
+ /**
160
+ * @type {Color}
161
+ * @default Color.WHITE
162
+ */
163
+ get pointOutlineColor() {
164
+ for (const material of this._iteratePointMaterials()) {
165
+ return Color.clone(material.outlineColor, this._outlineColor);
166
+ }
167
+ return Color.clone(Color.WHITE, this._outlineColor);
168
+ }
169
+
170
+ set pointOutlineColor(value) {
171
+ for (const material of this._iteratePointMaterials()) {
172
+ Color.clone(value, material.outlineColor);
173
+ }
174
+ }
175
+
176
+ /**
177
+ * @type {number}
178
+ * @default 0
179
+ */
180
+ get pointOutlineWidth() {
181
+ for (const material of this._iteratePointMaterials()) {
182
+ return material.outlineWidth;
183
+ }
184
+ return 0;
185
+ }
186
+
187
+ set pointOutlineWidth(value) {
188
+ for (const material of this._iteratePointMaterials()) {
189
+ material.outlineWidth = value;
190
+ }
191
+ }
192
+
193
+ /**
194
+ * @type {number}
195
+ * @default 1
196
+ */
197
+ get lineWidth() {
198
+ for (const material of this._iteratePolylineMaterials()) {
199
+ return material.width;
200
+ }
201
+ return 1;
202
+ }
203
+
204
+ set lineWidth(value) {
205
+ for (const material of this._iteratePolylineMaterials()) {
206
+ material.width = value;
207
+ }
208
+ }
209
+
210
+ /**
211
+ * @type {Color}
212
+ * @default Color.WHITE
213
+ */
214
+ get lineOutlineColor() {
215
+ for (const material of this._iteratePolylineMaterials()) {
216
+ return Color.clone(material.outlineColor, this._outlineColor);
217
+ }
218
+ return Color.clone(Color.WHITE, this._outlineColor);
219
+ }
220
+
221
+ set lineOutlineColor(value) {
222
+ for (const material of this._iteratePolylineMaterials()) {
223
+ Color.clone(value, material.outlineColor);
224
+ }
225
+ }
226
+
227
+ /**
228
+ * @type {number}
229
+ * @default 0
230
+ */
231
+ get lineOutlineWidth() {
232
+ for (const material of this._iteratePolylineMaterials()) {
233
+ return material.outlineWidth;
234
+ }
235
+ return 0;
236
+ }
237
+
238
+ set lineOutlineWidth(value) {
239
+ for (const material of this._iteratePolylineMaterials()) {
240
+ material.outlineWidth = value;
241
+ }
242
+ }
243
+
244
+ /**
245
+ * @type {Color}
246
+ * @default Color.WHITE
247
+ */
248
+ get polygonOutlineColor() {
249
+ for (const material of this._iteratePolygonMaterials()) {
250
+ return Color.clone(material.outlineColor, this._outlineColor);
251
+ }
252
+ return Color.clone(Color.WHITE, this._outlineColor);
253
+ }
254
+
255
+ set polygonOutlineColor(value) {
256
+ for (const material of this._iteratePolygonMaterials()) {
257
+ Color.clone(value, material.outlineColor);
258
+ }
259
+ }
260
+
261
+ /**
262
+ * @type {number}
263
+ * @default 0
264
+ */
265
+ get polygonOutlineWidth() {
266
+ for (const material of this._iteratePolygonMaterials()) {
267
+ return material.outlineWidth;
268
+ }
269
+ return 0;
270
+ }
271
+
272
+ set polygonOutlineWidth(value) {
273
+ for (const material of this._iteratePolygonMaterials()) {
274
+ material.outlineWidth = value;
275
+ }
276
+ }
277
+
278
+ /**
279
+ * Gets the content of the tile containing the feature.
280
+ *
281
+ * @type {VectorGltf3DTileContent}
282
+ *
283
+ * @ignore
284
+ */
285
+ get content() {
286
+ return this._content;
287
+ }
288
+
289
+ /**
290
+ * Gets the tileset containing the feature.
291
+ *
292
+ * @type {Cesium3DTileset}
293
+ */
294
+ get tileset() {
295
+ return this._content.tileset;
296
+ }
297
+
298
+ /**
299
+ * All objects returned by {@link Scene#pick} have a <code>primitive</code> property. This returns
300
+ * the tileset containing the feature.
301
+ *
302
+ * @type {Cesium3DTileset}
303
+ */
304
+ get primitive() {
305
+ return this._content.tileset;
306
+ }
307
+
308
+ /**
309
+ * Get the feature ID associated with this feature. Using EXT_mesh_features,
310
+ * this is the feature ID from the selected feature ID set.
311
+ *
312
+ * @type {number}
313
+ *
314
+ * @readonly
315
+ */
316
+ get featureId() {
317
+ return this._batchId;
318
+ }
319
+
320
+ /**
321
+ * @type {Cesium3DTileBatchTable|undefined}
322
+ * @private
323
+ */
324
+ get _batchTable() {
325
+ return this._content.batchTables[this._batchTableId];
326
+ }
327
+
328
+ /**
329
+ * @type {number[]}
330
+ * @ignore
331
+ */
332
+ get pickIds() {
333
+ const pickIds = [];
334
+ for (const prim of this._iteratePrimitives()) {
335
+ pickIds.push(prim._pickId);
336
+ }
337
+ return pickIds;
338
+ }
339
+
340
+ /**
341
+ * Returns whether the feature contains this property. This includes properties from this feature's
342
+ * class and inherited classes when using a batch table hierarchy.
343
+ *
344
+ * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
345
+ *
346
+ * @param {string} name The case-sensitive name of the property.
347
+ * @returns {boolean} Whether the feature contains this property.
348
+ */
349
+ hasProperty(name) {
350
+ if (!defined(this._batchTable)) {
351
+ return false;
352
+ }
353
+ return this._batchTable.hasProperty(this._batchId, name);
354
+ }
355
+
356
+ /**
357
+ * Returns an array of property IDs for the feature. This includes properties from this feature's
358
+ * class and inherited classes when using a batch table hierarchy.
359
+ *
360
+ * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
361
+ *
362
+ * @param {string[]} [results] An array into which to store the results.
363
+ * @returns {string[]} The IDs of the feature's properties.
364
+ */
365
+ getPropertyIds(results) {
366
+ if (!defined(this._batchTable)) {
367
+ return [];
368
+ }
369
+ return this._batchTable.getPropertyIds(this._batchId, results);
370
+ }
371
+
372
+ /**
373
+ * Returns a copy of the value of the feature's property with the given name. This includes properties from this feature's
374
+ * class and inherited classes when using a batch table hierarchy.
375
+ *
376
+ * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
377
+ *
378
+ * @param {string} name The case-sensitive name of the property.
379
+ * @returns {*} The value of the property or <code>undefined</code> if the feature does not have this property.
380
+ *
381
+ * @example
382
+ * // Display all the properties for a feature in the console log.
383
+ * const propertyIds = feature.getPropertyIds();
384
+ * const length = propertyIds.length;
385
+ * for (let i = 0; i < length; ++i) {
386
+ * const propertyId = propertyIds[i];
387
+ * console.log(`{propertyId} : ${feature.getProperty(propertyId)}`);
388
+ * }
389
+ */
390
+ getProperty(name) {
391
+ if (!defined(this._batchTable)) {
392
+ return undefined;
393
+ }
394
+ return this._batchTable.getProperty(this._batchId, name);
395
+ }
396
+
397
+ /**
398
+ * Returns a copy of the value of the feature's property with the given name.
399
+ * If the feature is contained within a tileset that has metadata (3D Tiles 1.1)
400
+ * or uses the <code>3DTILES_metadata</code> extension, tileset, group and tile metadata is
401
+ * inherited.
402
+ * <p>
403
+ * To resolve name conflicts, this method resolves names from most specific to
404
+ * least specific by metadata granularity in the order: feature, tile, group,
405
+ * tileset. Within each granularity, semantics are resolved first, then other
406
+ * properties.
407
+ * </p>
408
+ * @param {string} name The case-sensitive name of the property.
409
+ * @returns {*} The value of the property or <code>undefined</code> if the feature does not have this property.
410
+ * @private
411
+ * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
412
+ */
413
+ getPropertyInherited(name) {
414
+ return Cesium3DTileFeature.getPropertyInherited(
415
+ // @ts-expect-error Requires type checking in Cesium3DTileContent.
416
+ this._content,
417
+ this._batchId,
418
+ name,
419
+ this._batchTable,
420
+ );
421
+ }
422
+
423
+ /**
424
+ * Sets the value of the feature's property with the given name.
425
+ * <p>
426
+ * If a property with the given name doesn't exist, it is created.
427
+ * </p>
428
+ *
429
+ * @param {string} name The case-sensitive name of the property.
430
+ * @param {*} value The value of the property that will be copied.
431
+ *
432
+ * @exception {DeveloperError} Inherited batch table hierarchy property is read only.
433
+ *
434
+ * @example
435
+ * const height = feature.getProperty('Height'); // e.g., the height of a building
436
+ *
437
+ * @example
438
+ * const name = 'clicked';
439
+ * if (feature.getProperty(name)) {
440
+ * console.log('already clicked');
441
+ * } else {
442
+ * feature.setProperty(name, true);
443
+ * console.log('first click');
444
+ * }
445
+ */
446
+ setProperty(name, value) {
447
+ throw new DeveloperError("Not implemented");
448
+ }
449
+
450
+ /**
451
+ * Returns whether the feature's class name equals <code>className</code>. Unlike {@link Cesium3DTileVectorFeature#isClass}
452
+ * this function only checks the feature's exact class and not inherited classes.
453
+ * <p>
454
+ * This function returns <code>false</code> if no batch table hierarchy is present.
455
+ * </p>
456
+ *
457
+ * @param {string} className The name to check against.
458
+ * @returns {boolean} Whether the feature's class name equals <code>className</code>
459
+ *
460
+ * @private
461
+ */
462
+ isExactClass(className) {
463
+ if (!defined(this._batchTable)) {
464
+ return false;
465
+ }
466
+ return this._batchTable.isExactClass(this._batchId, className);
467
+ }
468
+
469
+ /**
470
+ * Returns whether the feature's class or any inherited classes are named <code>className</code>.
471
+ * <p>
472
+ * This function returns <code>false</code> if no batch table hierarchy is present.
473
+ * </p>
474
+ *
475
+ * @param {string} className The name to check against.
476
+ * @returns {boolean} Whether the feature's class or inherited classes are named <code>className</code>
477
+ *
478
+ * @private
479
+ */
480
+ isClass(className) {
481
+ if (!defined(this._batchTable)) {
482
+ return false;
483
+ }
484
+ return this._batchTable.isClass(this._batchId, className);
485
+ }
486
+
487
+ /**
488
+ * Returns the feature's class name.
489
+ * <p>
490
+ * This function returns <code>undefined</code> if no batch table hierarchy is present.
491
+ * </p>
492
+ *
493
+ * @returns {string} The feature's class name.
494
+ *
495
+ * @private
496
+ */
497
+ getExactClassName() {
498
+ if (!defined(this._batchTable)) {
499
+ return undefined;
500
+ }
501
+ return this._batchTable.getExactClassName(this._batchId);
502
+ }
503
+
504
+ /////////////////////////////////////////////////////////////////////////////
505
+ // INTERNAL ITERATORS
506
+
507
+ /**
508
+ * @returns {Iterable<BufferPrimitive>}
509
+ */
510
+ *_iteratePrimitives() {
511
+ yield* this._iteratePrimitivesWith(BufferPointCollection, point);
512
+ yield* this._iteratePrimitivesWith(BufferPolylineCollection, polyline);
513
+ yield* this._iteratePrimitivesWith(BufferPolygonCollection, polygon);
514
+ }
515
+
516
+ /**
517
+ * @param {*} CollectionType
518
+ * @param {BufferPrimitive} result
519
+ * @returns {Iterable<BufferPrimitive>}
520
+ */
521
+ *_iteratePrimitivesWith(CollectionType, result) {
522
+ const collections = this._content._collections;
523
+ for (let i = 0; i < collections.length; i++) {
524
+ const collection = collections[i];
525
+ const primitiveIndices = this._primitivesByCollection.get(i);
526
+ if (primitiveIndices && collection instanceof CollectionType) {
527
+ for (const primitiveIndex of primitiveIndices) {
528
+ collection.get(primitiveIndex, result);
529
+ yield result;
530
+ }
531
+ }
532
+ }
533
+ }
534
+
535
+ /** @returns {Iterable<BufferPrimitiveMaterial>} */
536
+ *_iterateMaterials() {
537
+ yield* this._iteratePointMaterials();
538
+ yield* this._iteratePolylineMaterials();
539
+ yield* this._iteratePolygonMaterials();
540
+ }
541
+
542
+ /** @returns {Iterable<BufferPointMaterial>} */
543
+ *_iteratePointMaterials() {
544
+ yield* /** @type {Iterable<BufferPointMaterial>} */ (
545
+ this._iterateMaterialsWith(BufferPointCollection, point, pointMaterial)
546
+ );
547
+ }
548
+
549
+ /** @returns {Iterable<BufferPolylineMaterial>} */
550
+ *_iteratePolylineMaterials() {
551
+ yield* /** @type {Iterable<BufferPolylineMaterial>} */ (
552
+ this._iterateMaterialsWith(
553
+ BufferPolylineCollection,
554
+ polyline,
555
+ polylineMaterial,
556
+ )
557
+ );
558
+ }
559
+
560
+ /** @returns {Iterable<BufferPolygonMaterial>} */
561
+ *_iteratePolygonMaterials() {
562
+ yield* /** @type {Iterable<BufferPolygonMaterial>} */ (
563
+ this._iterateMaterialsWith(
564
+ BufferPolygonCollection,
565
+ polygon,
566
+ polygonMaterial,
567
+ )
568
+ );
569
+ }
570
+
571
+ /**
572
+ * @param {*} CollectionType
573
+ * @param {BufferPrimitive} primitive
574
+ * @param {BufferPrimitiveMaterial} result
575
+ * @returns {Iterable<BufferPrimitiveMaterial>}
576
+ */
577
+ *_iterateMaterialsWith(CollectionType, primitive, result) {
578
+ for (const prim of this._iteratePrimitivesWith(CollectionType, primitive)) {
579
+ prim.getMaterial(result);
580
+ yield result;
581
+ prim.setMaterial(result);
582
+ }
583
+ }
584
+ }
585
+
586
+ export default Cesium3DTileVectorFeature;