@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
@@ -16,6 +16,7 @@ import VertexAttributeSemantic from "../VertexAttributeSemantic.js";
16
16
  import ModelReader from "./ModelReader.js";
17
17
  import ModelUtility from "./ModelUtility.js";
18
18
  import ModelComponents from "../ModelComponents.js";
19
+ import Cesium3DTileVectorFeature from "../Cesium3DTileVectorFeature.js";
19
20
 
20
21
  /** @import { TypedArray } from "../../Core/globalTypes.js"; */
21
22
  /** @import BufferPrimitive from "../BufferPrimitive.js"; */
@@ -27,6 +28,7 @@ import ModelComponents from "../ModelComponents.js";
27
28
  * @typedef {object} VectorTileResult
28
29
  * @property {Array<BufferPrimitiveCollection<BufferPrimitive>>} collections
29
30
  * @property {Array<Matrix4>} collectionLocalMatrices
31
+ * @property {Map<number, Cesium3DTileVectorFeature>} features
30
32
  * @ignore
31
33
  */
32
34
 
@@ -48,7 +50,11 @@ function createVectorTileBuffersFromModelComponents(content, components) {
48
50
  const rootNodes = components.scene.nodes;
49
51
 
50
52
  /** @type {VectorTileResult} */
51
- const result = { collections: [], collectionLocalMatrices: [] };
53
+ const result = {
54
+ collections: [],
55
+ collectionLocalMatrices: [],
56
+ features: new Map(),
57
+ };
52
58
 
53
59
  for (let i = 0; i < rootNodes.length; i++) {
54
60
  appendNodeToBuffers(content, rootNodes[i], Matrix4.IDENTITY, result);
@@ -113,12 +119,9 @@ function gatherPrimitiveStats(primitive) {
113
119
  ? ModelReader.readIndicesAsTypedArray(primitive.indices)
114
120
  : undefined;
115
121
 
116
- // @ts-expect-error Requires https://github.com/CesiumGS/cesium/pull/13203.
117
122
  if (primitiveType === PrimitiveType.POINTS) {
118
123
  stats.pointPrimitiveCount += vector.count;
119
124
  stats.pointVertexCount += vector.count;
120
-
121
- // @ts-expect-error Requires https://github.com/CesiumGS/cesium/pull/13203.
122
125
  } else if (primitiveType === PrimitiveType.LINE_STRIP) {
123
126
  //>>includeStart('debug', pragmas.debug);
124
127
  assert(defined(indices), "Vector LINE_STRIP primitive must be indexed.");
@@ -126,8 +129,6 @@ function gatherPrimitiveStats(primitive) {
126
129
 
127
130
  stats.polylinePrimitiveCount += vector.count;
128
131
  stats.polylineVertexCount += indices.length - (vector.count - 1);
129
-
130
- // @ts-expect-error Requires https://github.com/CesiumGS/cesium/pull/13203.
131
132
  } else if (primitiveType === PrimitiveType.TRIANGLES) {
132
133
  //>>includeStart('debug', pragmas.debug);
133
134
  assert(defined(indices), "Vector TRIANGLES primitive must be indexed.");
@@ -154,9 +155,17 @@ function gatherPrimitiveStats(primitive) {
154
155
  * @param {VectorGltf3DTileContent} content
155
156
  * @param {Primitive} primitive
156
157
  * @param {BufferPrimitiveCollection<BufferPrimitive>} collection
158
+ * @param {number} collectionIndex
159
+ * @param {Map<number, Cesium3DTileVectorFeature>} features
157
160
  * @ignore
158
161
  */
159
- function appendPrimitiveToBuffers(content, primitive, collection) {
162
+ function appendPrimitiveToBuffers(
163
+ content,
164
+ primitive,
165
+ collection,
166
+ collectionIndex,
167
+ features,
168
+ ) {
160
169
  const vector = primitive.vector;
161
170
  const positionAttribute = ModelUtility.getAttributeBySemantic(
162
171
  primitive,
@@ -174,10 +183,24 @@ function appendPrimitiveToBuffers(content, primitive, collection) {
174
183
  : undefined;
175
184
 
176
185
  const featureIdComponent = primitive.featureIds?.[0];
186
+
177
187
  /** @type {Attribute} */
178
188
  let featureIdAttribute;
189
+
179
190
  /** @type {TypedArray} */
180
191
  let featureIdArray;
192
+
193
+ /**
194
+ * @param {number} vertexOffset
195
+ * @returns {Cesium3DTileVectorFeature}
196
+ */
197
+ function getFeature(vertexOffset) {
198
+ const featureId = featureIdArray[vertexOffset];
199
+ if (featureId !== featureIdComponent.nullFeatureId) {
200
+ return features.get(featureId);
201
+ }
202
+ }
203
+
181
204
  if (featureIdComponent instanceof ModelComponents.FeatureIdAttribute) {
182
205
  featureIdAttribute = ModelUtility.getAttributeBySemantic(
183
206
  primitive,
@@ -187,6 +210,18 @@ function appendPrimitiveToBuffers(content, primitive, collection) {
187
210
  featureIdArray =
188
211
  featureIdAttribute.typedArray ??
189
212
  ModelReader.readAttributeAsTypedArray(featureIdAttribute);
213
+
214
+ for (let i = 0; i < featureIdArray.length; i++) {
215
+ const featureId = featureIdArray[i];
216
+ if (!features.has(featureId)) {
217
+ const feature = new Cesium3DTileVectorFeature(
218
+ content,
219
+ featureId,
220
+ featureIdComponent.propertyTableId,
221
+ );
222
+ features.set(featureId, feature);
223
+ }
224
+ }
190
225
  }
191
226
 
192
227
  if (collection instanceof BufferPointCollection) {
@@ -198,27 +233,31 @@ function appendPrimitiveToBuffers(content, primitive, collection) {
198
233
  vertexOffset * 3,
199
234
  scratchPosition,
200
235
  );
201
- collection.add({ position: scratchPosition }, scratchPoint);
202
236
 
203
- const featureId = Math.trunc(featureIdArray[vertexOffset]);
204
- if (featureId !== featureIdComponent.nullFeatureId) {
205
- scratchPoint.featureId = featureId;
206
- }
237
+ const pickObject = getFeature(vertexOffset);
238
+ pickObject.addPrimitiveByCollection(collectionIndex, i);
239
+ const featureId = pickObject.featureId;
240
+
241
+ collection.add(
242
+ { position: scratchPosition, featureId, pickObject },
243
+ scratchPoint,
244
+ );
207
245
  }
208
246
  } else if (collection instanceof BufferPolylineCollection) {
209
247
  // @ts-expect-error TODO
210
248
  forEachLineStripSegment(indices, (indexOffset, indexCount) => {
249
+ const i = collection.primitiveCount;
211
250
  const vertexOffset = indices[indexOffset];
212
251
  const positions = collectionPositions.subarray(
213
252
  vertexOffset * 3,
214
253
  (vertexOffset + indexCount) * 3,
215
254
  );
216
- collection.add({ positions }, scratchPolyline);
217
255
 
218
- const featureId = Math.trunc(featureIdArray[vertexOffset]);
219
- if (featureId !== featureIdComponent.nullFeatureId) {
220
- scratchPolyline.featureId = featureId;
221
- }
256
+ const pickObject = getFeature(vertexOffset);
257
+ pickObject.addPrimitiveByCollection(collectionIndex, i);
258
+ const featureId = pickObject.featureId;
259
+
260
+ collection.add({ positions, featureId, pickObject }, scratchPolyline);
222
261
  });
223
262
  } else if (collection instanceof BufferPolygonCollection) {
224
263
  const polygonAttributeOffsets = vector.polygonAttributeOffsets;
@@ -254,12 +293,14 @@ function appendPrimitiveToBuffers(content, primitive, collection) {
254
293
  triangles[t] -= polygonVertexStart;
255
294
  }
256
295
 
257
- collection.add({ positions, triangles, holes }, scratchPolygon);
296
+ const pickObject = getFeature(polygonVertexStart);
297
+ pickObject.addPrimitiveByCollection(collectionIndex, i);
298
+ const featureId = pickObject.featureId;
258
299
 
259
- const featureId = Math.trunc(featureIdArray[polygonVertexStart]);
260
- if (featureId !== featureIdComponent.nullFeatureId) {
261
- scratchPolygon.featureId = featureId;
262
- }
300
+ collection.add(
301
+ { positions, triangles, holes, featureId, pickObject },
302
+ scratchPolygon,
303
+ );
263
304
  }
264
305
  }
265
306
  }
@@ -292,33 +333,37 @@ function appendNodeToBuffers(content, node, parentTransform, result) {
292
333
 
293
334
  const stats = gatherPrimitiveStats(primitive);
294
335
 
295
- // @ts-expect-error Requires https://github.com/CesiumGS/cesium/pull/13203.
296
336
  if (primitiveType === PrimitiveType.POINTS) {
297
337
  collection = new BufferPointCollection({
298
338
  primitiveCountMax: stats.pointPrimitiveCount,
339
+ allowPicking: true,
299
340
  });
300
-
301
- // @ts-expect-error Requires https://github.com/CesiumGS/cesium/pull/13203.
302
341
  } else if (primitiveType === PrimitiveType.LINE_STRIP) {
303
342
  collection = new BufferPolylineCollection({
304
343
  primitiveCountMax: stats.polylinePrimitiveCount,
305
344
  vertexCountMax: stats.polylineVertexCount,
345
+ allowPicking: true,
306
346
  });
307
-
308
- // @ts-expect-error Requires https://github.com/CesiumGS/cesium/pull/13203.
309
347
  } else if (primitiveType === PrimitiveType.TRIANGLES) {
310
348
  collection = new BufferPolygonCollection({
311
349
  primitiveCountMax: stats.polygonPrimitiveCount,
312
350
  vertexCountMax: stats.polygonVertexCount,
313
351
  holeCountMax: stats.polygonHoleCount,
314
352
  triangleCountMax: stats.polygonTriangleCount,
353
+ allowPicking: true,
315
354
  });
316
355
  }
317
356
 
318
357
  result.collections.push(collection);
319
358
  result.collectionLocalMatrices.push(Matrix4.clone(nodeTransform));
320
359
 
321
- appendPrimitiveToBuffers(content, primitive, collection);
360
+ appendPrimitiveToBuffers(
361
+ content,
362
+ primitive,
363
+ collection,
364
+ result.collections.length - 1,
365
+ result.features,
366
+ );
322
367
  }
323
368
 
324
369
  const children = node.children;
@@ -1,31 +1,46 @@
1
- import AttributeCompression from "../../Core/AttributeCompression.js";
2
1
  import BoundingSphere from "../../Core/BoundingSphere.js";
3
2
  import Cartesian3 from "../../Core/Cartesian3.js";
4
3
  import Cartographic from "../../Core/Cartographic.js";
5
4
  import Check from "../../Core/Check.js";
6
- import ComponentDatatype from "../../Core/ComponentDatatype.js";
7
5
  import defined from "../../Core/defined.js";
8
6
  import Ellipsoid from "../../Core/Ellipsoid.js";
9
- import IndexDatatype from "../../Core/IndexDatatype.js";
10
7
  import IntersectionTests from "../../Core/IntersectionTests.js";
11
- import Ray from "../../Core/Ray.js";
12
8
  import Matrix4 from "../../Core/Matrix4.js";
13
- import Transforms from "../../Core/Transforms.js";
9
+ import Ray from "../../Core/Ray.js";
14
10
  import VerticalExaggeration from "../../Core/VerticalExaggeration.js";
15
11
  import AttributeType from "../AttributeType.js";
16
12
  import SceneMode from "../SceneMode.js";
17
13
  import VertexAttributeSemantic from "../VertexAttributeSemantic.js";
14
+ import ModelReader from "./ModelReader.js";
18
15
  import ModelUtility from "./ModelUtility.js";
19
16
 
20
17
  const scratchV0 = new Cartesian3();
21
18
  const scratchV1 = new Cartesian3();
22
19
  const scratchV2 = new Cartesian3();
23
- const scratchNodeComputedTransform = new Matrix4();
24
- const scratchModelMatrix = new Matrix4();
25
- const scratchcomputedModelMatrix = new Matrix4();
20
+ const scratchV0_t = new Cartesian3();
21
+ const scratchV1_t = new Cartesian3();
22
+ const scratchV2_t = new Cartesian3();
26
23
  const scratchPickCartographic = new Cartographic();
27
24
  const scratchBoundingSphere = new BoundingSphere();
28
25
 
26
+ /**
27
+ * Reads a 3D position from a flat vertex array at the given element index.
28
+ *
29
+ * @param {TypedArray} vertices The flat array of vertex components.
30
+ * @param {number} index The vertex index (element index, not byte offset).
31
+ * @param {number} elementStride The number of components per vertex element.
32
+ * @param {Cartesian3} result The object into which to store the position.
33
+ * @returns {Cartesian3} The modified result parameter.
34
+ * @private
35
+ */
36
+ function readPosition(vertices, index, elementStride, result) {
37
+ const i = index * elementStride;
38
+ result.x = vertices[i];
39
+ result.y = vertices[i + 1];
40
+ result.z = vertices[i + 2];
41
+ return result;
42
+ }
43
+
29
44
  /**
30
45
  * Find an intersection between a ray and the model surface that was rendered. The ray must be given in world coordinates.
31
46
  *
@@ -60,125 +75,22 @@ export default function pickModel(
60
75
  }
61
76
 
62
77
  let minT = Number.MAX_VALUE;
63
- const sceneGraph = model.sceneGraph;
64
-
65
- const nodes = sceneGraph._runtimeNodes;
66
- for (let i = 0; i < nodes.length; i++) {
67
- const runtimeNode = nodes[i];
68
- const node = runtimeNode.node;
69
-
70
- let nodeComputedTransform = Matrix4.clone(
71
- runtimeNode.computedTransform,
72
- scratchNodeComputedTransform,
73
- );
74
- let modelMatrix = Matrix4.clone(
75
- sceneGraph.computedModelMatrix,
76
- scratchModelMatrix,
77
- );
78
-
79
- const instances = node.instances;
80
- if (defined(instances)) {
81
- if (instances.transformInWorldSpace) {
82
- // Replicate the multiplication order in LegacyInstancingStageVS.
83
- modelMatrix = Matrix4.multiplyTransformation(
84
- model.modelMatrix,
85
- sceneGraph.components.transform,
86
- modelMatrix,
87
- );
88
-
89
- nodeComputedTransform = Matrix4.multiplyTransformation(
90
- sceneGraph.axisCorrectionMatrix,
91
- runtimeNode.computedTransform,
92
- nodeComputedTransform,
93
- );
94
- }
95
- }
96
-
97
- let computedModelMatrix = Matrix4.multiplyTransformation(
98
- modelMatrix,
99
- nodeComputedTransform,
100
- scratchcomputedModelMatrix,
101
- );
102
-
103
- if (frameState.mode !== SceneMode.SCENE3D) {
104
- computedModelMatrix = Transforms.basisTo2D(
105
- frameState.mapProjection,
106
- computedModelMatrix,
107
- computedModelMatrix,
108
- );
109
- }
110
-
111
- const transforms = [];
112
- if (defined(instances)) {
113
- const transformsCount = instances.attributes[0].count;
114
- const instanceComponentDatatype =
115
- instances.attributes[0].componentDatatype;
116
-
117
- const transformElements = 12;
118
- let transformsTypedArray = runtimeNode.transformsTypedArray;
119
- if (!defined(transformsTypedArray)) {
120
- const instanceTransformsBuffer = runtimeNode.instancingTransformsBuffer;
121
- if (defined(instanceTransformsBuffer) && frameState.context.webgl2) {
122
- transformsTypedArray = ComponentDatatype.createTypedArray(
123
- instanceComponentDatatype,
124
- transformsCount * transformElements,
125
- );
126
- instanceTransformsBuffer.getBufferData(transformsTypedArray);
127
- }
128
- }
129
-
130
- if (defined(transformsTypedArray)) {
131
- for (let i = 0; i < transformsCount; i++) {
132
- const index = i * transformElements;
133
-
134
- const transform = new Matrix4(
135
- transformsTypedArray[index],
136
- transformsTypedArray[index + 1],
137
- transformsTypedArray[index + 2],
138
- transformsTypedArray[index + 3],
139
- transformsTypedArray[index + 4],
140
- transformsTypedArray[index + 5],
141
- transformsTypedArray[index + 6],
142
- transformsTypedArray[index + 7],
143
- transformsTypedArray[index + 8],
144
- transformsTypedArray[index + 9],
145
- transformsTypedArray[index + 10],
146
- transformsTypedArray[index + 11],
147
- 0,
148
- 0,
149
- 0,
150
- 1,
151
- );
152
-
153
- if (instances.transformInWorldSpace) {
154
- Matrix4.multiplyTransformation(
155
- transform,
156
- nodeComputedTransform,
157
- transform,
158
- );
159
- Matrix4.multiplyTransformation(modelMatrix, transform, transform);
160
- } else {
161
- Matrix4.multiplyTransformation(
162
- transform,
163
- computedModelMatrix,
164
- transform,
165
- );
166
- }
167
- transforms.push(transform);
168
- }
169
- }
170
- }
171
78
 
172
- if (transforms.length === 0) {
173
- transforms.push(computedModelMatrix);
174
- }
175
-
176
- const primitivesLength = runtimeNode.runtimePrimitives.length;
177
- for (let j = 0; j < primitivesLength; j++) {
178
- const runtimePrimitive = runtimeNode.runtimePrimitives[j];
179
- const primitive = runtimePrimitive.primitive;
180
-
181
- if (defined(runtimePrimitive.boundingSphere) && !defined(instances)) {
79
+ ellipsoid = ellipsoid ?? Ellipsoid.default;
80
+ verticalExaggeration = verticalExaggeration ?? 1.0;
81
+ relativeHeight = relativeHeight ?? 0.0;
82
+
83
+ const mapProjection =
84
+ frameState.mode !== SceneMode.SCENE3D
85
+ ? frameState.mapProjection
86
+ : undefined;
87
+
88
+ ModelReader.forEachPrimitive(
89
+ model,
90
+ { mapProjection: mapProjection },
91
+ function (runtimePrimitive, primitive, instances, computedModelMatrix) {
92
+ // Bounding sphere early-out for non-instanced primitives
93
+ if (defined(runtimePrimitive.boundingSphere) && instances.length === 1) {
182
94
  const boundingSphere = BoundingSphere.transform(
183
95
  runtimePrimitive.boundingSphere,
184
96
  computedModelMatrix,
@@ -189,144 +101,88 @@ export default function pickModel(
189
101
  boundingSphere,
190
102
  );
191
103
  if (!defined(boundsIntersection)) {
192
- continue;
104
+ return;
193
105
  }
194
106
  }
195
107
 
196
- const positionAttribute = ModelUtility.getAttributeBySemantic(
197
- primitive,
198
- VertexAttributeSemantic.POSITION,
199
- );
200
- const byteOffset = positionAttribute.byteOffset;
201
- const byteStride = positionAttribute.byteStride;
202
- const vertexCount = positionAttribute.count;
203
-
204
108
  if (!defined(primitive.indices)) {
205
109
  // Point clouds
206
- continue;
207
- }
208
-
209
- let indices = primitive.indices.typedArray;
210
- if (!defined(indices)) {
211
- const indicesBuffer = primitive.indices.buffer;
212
- const indicesCount = primitive.indices.count;
213
- const indexDatatype = primitive.indices.indexDatatype;
214
- if (defined(indicesBuffer) && frameState.context.webgl2) {
215
- if (indexDatatype === IndexDatatype.UNSIGNED_BYTE) {
216
- indices = new Uint8Array(indicesCount);
217
- } else if (indexDatatype === IndexDatatype.UNSIGNED_SHORT) {
218
- indices = new Uint16Array(indicesCount);
219
- } else if (indexDatatype === IndexDatatype.UNSIGNED_INT) {
220
- indices = new Uint32Array(indicesCount);
221
- }
222
-
223
- indicesBuffer.getBufferData(indices);
224
- }
225
- }
226
-
227
- let vertices = positionAttribute.typedArray;
228
- let componentDatatype = positionAttribute.componentDatatype;
229
- let attributeType = positionAttribute.type;
230
-
231
- const quantization = positionAttribute.quantization;
232
- if (defined(quantization)) {
233
- componentDatatype = positionAttribute.quantization.componentDatatype;
234
- attributeType = positionAttribute.quantization.type;
110
+ return;
235
111
  }
236
112
 
237
- const numComponents = AttributeType.getNumberOfComponents(attributeType);
238
- const bytes = ComponentDatatype.getSizeInBytes(componentDatatype);
239
- const isInterleaved =
240
- !defined(vertices) &&
241
- defined(byteStride) &&
242
- byteStride !== numComponents * bytes;
243
-
244
- let elementStride = numComponents;
245
- let offset = 0;
246
- if (isInterleaved) {
247
- elementStride = byteStride / bytes;
248
- offset = byteOffset / bytes;
113
+ let vertices;
114
+ let numPosComponents;
115
+ const positionAttribute = ModelUtility.getAttributeBySemantic(
116
+ primitive,
117
+ VertexAttributeSemantic.POSITION,
118
+ );
119
+ if (defined(positionAttribute)) {
120
+ numPosComponents = AttributeType.getNumberOfComponents(
121
+ positionAttribute.type,
122
+ );
123
+ vertices = ModelReader.readAttributeAsTypedArray(positionAttribute);
249
124
  }
250
- const elementCount = vertexCount * elementStride;
251
-
252
- if (!defined(vertices)) {
253
- const verticesBuffer = positionAttribute.buffer;
254
-
255
- if (defined(verticesBuffer) && frameState.context.webgl2) {
256
- vertices = ComponentDatatype.createTypedArray(
257
- componentDatatype,
258
- elementCount,
259
- );
260
- verticesBuffer.getBufferData(
261
- vertices,
262
- isInterleaved ? 0 : byteOffset,
263
- 0,
264
- elementCount,
265
- );
266
- }
267
125
 
268
- if (quantization && positionAttribute.normalized) {
269
- vertices = AttributeCompression.dequantize(
270
- vertices,
271
- componentDatatype,
272
- attributeType,
273
- vertexCount,
274
- );
275
- }
126
+ let indices;
127
+ if (defined(primitive.indices)) {
128
+ indices = ModelReader.readIndicesAsTypedArray(primitive.indices);
276
129
  }
277
130
 
278
131
  if (!defined(indices) || !defined(vertices)) {
279
132
  return;
280
133
  }
281
134
 
282
- ellipsoid = ellipsoid ?? Ellipsoid.default;
283
- verticalExaggeration = verticalExaggeration ?? 1.0;
284
- relativeHeight = relativeHeight ?? 0.0;
285
-
286
135
  const indicesLength = indices.length;
287
136
  for (let i = 0; i < indicesLength; i += 3) {
288
137
  const i0 = indices[i];
289
138
  const i1 = indices[i + 1];
290
139
  const i2 = indices[i + 2];
291
140
 
292
- for (const instanceTransform of transforms) {
293
- const v0 = getVertexPosition(
294
- vertices,
295
- i0,
296
- offset,
297
- elementStride,
298
- quantization,
299
- instanceTransform,
300
- verticalExaggeration,
301
- relativeHeight,
302
- ellipsoid,
141
+ readPosition(vertices, i0, numPosComponents, scratchV0);
142
+ readPosition(vertices, i1, numPosComponents, scratchV1);
143
+ readPosition(vertices, i2, numPosComponents, scratchV2);
144
+
145
+ for (const instance of instances) {
146
+ const v0 = Matrix4.multiplyByPoint(
147
+ instance.transform,
303
148
  scratchV0,
149
+ scratchV0_t,
304
150
  );
305
- const v1 = getVertexPosition(
306
- vertices,
307
- i1,
308
- offset,
309
- elementStride,
310
- quantization,
311
- instanceTransform,
312
- verticalExaggeration,
313
- relativeHeight,
314
- ellipsoid,
151
+ const v1 = Matrix4.multiplyByPoint(
152
+ instance.transform,
315
153
  scratchV1,
154
+ scratchV1_t,
316
155
  );
317
- const v2 = getVertexPosition(
318
- vertices,
319
- i2,
320
- offset,
321
- elementStride,
322
- quantization,
323
- instanceTransform,
324
- verticalExaggeration,
325
- relativeHeight,
326
- ellipsoid,
156
+ const v2 = Matrix4.multiplyByPoint(
157
+ instance.transform,
327
158
  scratchV2,
159
+ scratchV2_t,
328
160
  );
329
161
 
162
+ if (verticalExaggeration !== 1.0) {
163
+ VerticalExaggeration.getPosition(
164
+ v0,
165
+ ellipsoid,
166
+ verticalExaggeration,
167
+ relativeHeight,
168
+ v0,
169
+ );
170
+ VerticalExaggeration.getPosition(
171
+ v1,
172
+ ellipsoid,
173
+ verticalExaggeration,
174
+ relativeHeight,
175
+ v1,
176
+ );
177
+ VerticalExaggeration.getPosition(
178
+ v2,
179
+ ellipsoid,
180
+ verticalExaggeration,
181
+ relativeHeight,
182
+ v2,
183
+ );
184
+ }
185
+
330
186
  const t = IntersectionTests.rayTriangleParametric(
331
187
  ray,
332
188
  v0,
@@ -342,8 +198,8 @@ export default function pickModel(
342
198
  }
343
199
  }
344
200
  }
345
- }
346
- }
201
+ },
202
+ );
347
203
 
348
204
  if (minT === Number.MAX_VALUE) {
349
205
  return undefined;
@@ -362,64 +218,3 @@ export default function pickModel(
362
218
 
363
219
  return result;
364
220
  }
365
-
366
- function getVertexPosition(
367
- vertices,
368
- index,
369
- offset,
370
- numElements,
371
- quantization,
372
- instanceTransform,
373
- verticalExaggeration,
374
- relativeHeight,
375
- ellipsoid,
376
- result,
377
- ) {
378
- const i = offset + index * numElements;
379
- result.x = vertices[i];
380
- result.y = vertices[i + 1];
381
- result.z = vertices[i + 2];
382
-
383
- if (defined(quantization)) {
384
- if (quantization.octEncoded) {
385
- result = AttributeCompression.octDecodeInRange(
386
- result,
387
- quantization.normalizationRange,
388
- result,
389
- );
390
-
391
- if (quantization.octEncodedZXY) {
392
- const x = result.x;
393
- result.x = result.z;
394
- result.z = result.y;
395
- result.y = x;
396
- }
397
- } else {
398
- result = Cartesian3.multiplyComponents(
399
- result,
400
- quantization.quantizedVolumeStepSize,
401
- result,
402
- );
403
-
404
- result = Cartesian3.add(
405
- result,
406
- quantization.quantizedVolumeOffset,
407
- result,
408
- );
409
- }
410
- }
411
-
412
- result = Matrix4.multiplyByPoint(instanceTransform, result, result);
413
-
414
- if (verticalExaggeration !== 1.0) {
415
- VerticalExaggeration.getPosition(
416
- result,
417
- ellipsoid,
418
- verticalExaggeration,
419
- relativeHeight,
420
- result,
421
- );
422
- }
423
-
424
- return result;
425
- }
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * Determines if and how a glTF animation is looped.
3
5
  *
@@ -30,4 +32,7 @@ const ModelAnimationLoop = {
30
32
  */
31
33
  MIRRORED_REPEAT: 2,
32
34
  };
33
- export default Object.freeze(ModelAnimationLoop);
35
+
36
+ Object.freeze(ModelAnimationLoop);
37
+
38
+ export default ModelAnimationLoop;