@hztxi/cesium-engine 25.0.7 → 26.2.2

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 (471) hide show
  1. package/Build/Workers/chunk-2FNKHQL3.js +754 -0
  2. package/Build/Workers/chunk-2NCNUVAT.js +56 -0
  3. package/Build/Workers/chunk-2ZYRUVVU.js +301 -0
  4. package/Build/Workers/chunk-36IU7N4V.js +1284 -0
  5. package/Build/Workers/chunk-3BDLET5S.js +198 -0
  6. package/Build/Workers/chunk-3JZXI44G.js +3822 -0
  7. package/Build/Workers/chunk-3N2UNLWJ.js +101 -0
  8. package/Build/Workers/chunk-3NCG2YYR.js +58 -0
  9. package/Build/Workers/chunk-3PRHI4KX.js +241 -0
  10. package/Build/Workers/chunk-3R6E2SH4.js +672 -0
  11. package/Build/Workers/chunk-3ZKKXEXL.js +415 -0
  12. package/Build/Workers/chunk-47KVKPTO.js +415 -0
  13. package/Build/Workers/chunk-4FFIJ7ZV.js +56 -0
  14. package/Build/Workers/chunk-4N227IPR.js +973 -0
  15. package/Build/Workers/chunk-4P6OAPBM.js +97 -0
  16. package/Build/Workers/chunk-4XR3K4GD.js +280 -0
  17. package/Build/Workers/chunk-4Z2JINRS.js +519 -0
  18. package/Build/Workers/chunk-4ZOLEPZK.js +519 -0
  19. package/Build/Workers/chunk-5EF3WWQG.js +352 -0
  20. package/Build/Workers/chunk-5I76476T.js +288 -0
  21. package/Build/Workers/chunk-5PBZKBAP.js +511 -0
  22. package/Build/Workers/chunk-5RVAAW26.js +82 -0
  23. package/Build/Workers/chunk-5VWK76PO.js +511 -0
  24. package/Build/Workers/chunk-6SEICASZ.js +241 -0
  25. package/Build/Workers/chunk-77DBX23X.js +455 -0
  26. package/Build/Workers/chunk-7C2D3DTI.js +959 -0
  27. package/Build/Workers/chunk-7GQOWCSN.js +959 -0
  28. package/Build/Workers/chunk-7J2ONMKC.js +198 -0
  29. package/Build/Workers/chunk-7MHUHXZZ.js +219 -0
  30. package/Build/Workers/chunk-7MQPHOAS.js +455 -0
  31. package/Build/Workers/chunk-7NJ5O7TP.js +387 -0
  32. package/Build/Workers/chunk-7T4MW2W4.js +368 -0
  33. package/Build/Workers/chunk-7UXZUGUZ.js +82 -0
  34. package/Build/Workers/chunk-7Y642MCO.js +352 -0
  35. package/Build/Workers/chunk-7ZFKBLUE.js +1054 -0
  36. package/Build/Workers/chunk-A2UHPWPL.js +38 -0
  37. package/Build/Workers/chunk-A7LGY5XS.js +140 -0
  38. package/Build/Workers/chunk-AN2NVYL6.js +1483 -0
  39. package/Build/Workers/chunk-AS2QC7H2.js +219 -0
  40. package/Build/Workers/chunk-AVOLMIGJ.js +57 -0
  41. package/Build/Workers/chunk-B7PT2VL5.js +630 -0
  42. package/Build/Workers/chunk-BHRHMUDM.js +147 -0
  43. package/Build/Workers/chunk-BUWAHRK5.js +672 -0
  44. package/Build/Workers/chunk-C5ET5HON.js +198 -0
  45. package/Build/Workers/chunk-C6XQGBPV.js +476 -0
  46. package/Build/Workers/chunk-C7B672RR.js +73 -0
  47. package/Build/Workers/chunk-CAEC5DA2.js +57 -0
  48. package/Build/Workers/chunk-CBCOHH5O.js +837 -0
  49. package/Build/Workers/chunk-CEMXKBQO.js +1800 -0
  50. package/Build/Workers/chunk-CKW3STKA.js +1067 -0
  51. package/Build/Workers/chunk-CV5RICKT.js +1992 -0
  52. package/Build/Workers/chunk-DBWSISJT.js +56 -0
  53. package/Build/Workers/chunk-DCMOBPLG.js +352 -0
  54. package/Build/Workers/chunk-DSBSPPPJ.js +1344 -0
  55. package/Build/Workers/chunk-DSGLDRTI.js +278 -0
  56. package/Build/Workers/chunk-DXD7OPSP.js +1992 -0
  57. package/Build/Workers/chunk-DXECZBSA.js +368 -0
  58. package/Build/Workers/chunk-DZIRO6ZK.js +682 -0
  59. package/Build/Workers/chunk-E4CRPGX5.js +140 -0
  60. package/Build/Workers/chunk-E4IVMEBH.js +52 -0
  61. package/Build/Workers/chunk-E6IPM6HP.js +56 -0
  62. package/Build/Workers/chunk-EB2HAHRY.js +1054 -0
  63. package/Build/Workers/chunk-ECDCQXCO.js +1992 -0
  64. package/Build/Workers/chunk-ECN3VUMA.js +73 -0
  65. package/Build/Workers/chunk-ECSKVHUB.js +476 -0
  66. package/Build/Workers/chunk-EIENGLA5.js +278 -0
  67. package/Build/Workers/chunk-EK5CWDW2.js +476 -0
  68. package/Build/Workers/chunk-EL4B5CSQ.js +162 -0
  69. package/Build/Workers/chunk-EUCUBIEZ.js +97 -0
  70. package/Build/Workers/chunk-FAYBQGKO.js +219 -0
  71. package/Build/Workers/chunk-FGCXPEZM.js +3201 -0
  72. package/Build/Workers/chunk-FHCRXPA6.js +44 -0
  73. package/Build/Workers/chunk-FM6EQUFX.js +1800 -0
  74. package/Build/Workers/chunk-FPFGGQ4X.js +301 -0
  75. package/Build/Workers/chunk-FQ42MT7M.js +58 -0
  76. package/Build/Workers/chunk-FQDYQG4P.js +1284 -0
  77. package/Build/Workers/chunk-FQTV6W3I.js +973 -0
  78. package/Build/Workers/chunk-FTCBY5HH.js +138 -0
  79. package/Build/Workers/chunk-GI5RWJAY.js +101 -0
  80. package/Build/Workers/chunk-GNLMSDRO.js +945 -0
  81. package/Build/Workers/chunk-GTA727KQ.js +140 -0
  82. package/Build/Workers/chunk-GVUJ6O3R.js +73 -0
  83. package/Build/Workers/chunk-GXTM7AG3.js +1483 -0
  84. package/Build/Workers/chunk-HAXQB2FS.js +2719 -0
  85. package/Build/Workers/chunk-HCGU7OCG.js +97 -0
  86. package/Build/Workers/chunk-HRIPVWSC.js +58 -0
  87. package/Build/Workers/chunk-IC3BR6SC.js +102 -0
  88. package/Build/Workers/chunk-IEPPOHF3.js +44 -0
  89. package/Build/Workers/chunk-IU3YAYPT.js +1344 -0
  90. package/Build/Workers/chunk-J3AXZ4WC.js +124 -0
  91. package/Build/Workers/chunk-J7MZR7B2.js +1483 -0
  92. package/Build/Workers/chunk-KBNW776Q.js +305 -0
  93. package/Build/Workers/chunk-KBSWXVSY.js +837 -0
  94. package/Build/Workers/chunk-KEYTLNVK.js +1067 -0
  95. package/Build/Workers/chunk-KN3RQWUA.js +3201 -0
  96. package/Build/Workers/chunk-KSIEJYNL.js +3822 -0
  97. package/Build/Workers/chunk-KT3GG7AW.js +754 -0
  98. package/Build/Workers/chunk-KYCEM22I.js +1800 -0
  99. package/Build/Workers/chunk-L2TFZKN6.js +455 -0
  100. package/Build/Workers/chunk-LHKE2VUR.js +945 -0
  101. package/Build/Workers/chunk-LJTQW46H.js +57 -0
  102. package/Build/Workers/chunk-LMQGYJME.js +672 -0
  103. package/Build/Workers/chunk-LOBYJQA4.js +76 -0
  104. package/Build/Workers/chunk-LOF32O7F.js +163 -0
  105. package/Build/Workers/chunk-LOTIJA7D.js +124 -0
  106. package/Build/Workers/chunk-M7Z3MPAX.js +973 -0
  107. package/Build/Workers/chunk-MHNLTQHO.js +3201 -0
  108. package/Build/Workers/chunk-MICPAD7R.js +398 -0
  109. package/Build/Workers/chunk-ML7OMD72.js +2342 -0
  110. package/Build/Workers/chunk-MPJ73WMH.js +138 -0
  111. package/Build/Workers/chunk-MUTHG7T7.js +171 -0
  112. package/Build/Workers/chunk-NBTGXEMT.js +945 -0
  113. package/Build/Workers/chunk-NQZC37F7.js +38 -0
  114. package/Build/Workers/chunk-O3X3D2Z3.js +352 -0
  115. package/Build/Workers/chunk-OBUIHPKF.js +352 -0
  116. package/Build/Workers/chunk-PAEWNYIV.js +138 -0
  117. package/Build/Workers/chunk-PANJ7YH6.js +102 -0
  118. package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
  119. package/Build/Workers/chunk-PHUELDXQ.js +76 -0
  120. package/Build/Workers/chunk-PIIUGRQD.js +387 -0
  121. package/Build/Workers/chunk-POKD22OT.js +2719 -0
  122. package/Build/Workers/chunk-PQMA7MFS.js +9237 -0
  123. package/Build/Workers/chunk-PQZW2QZG.js +163 -0
  124. package/Build/Workers/chunk-PURIPUSY.js +682 -0
  125. package/Build/Workers/chunk-QQZPPXY4.js +3822 -0
  126. package/Build/Workers/chunk-QXLQLGL2.js +1067 -0
  127. package/Build/Workers/chunk-R2JQAAU7.js +630 -0
  128. package/Build/Workers/chunk-RC4YC3VU.js +278 -0
  129. package/Build/Workers/chunk-RGNNWVR6.js +171 -0
  130. package/Build/Workers/chunk-RUOETBWP.js +288 -0
  131. package/Build/Workers/chunk-RV4EPLBO.js +2342 -0
  132. package/Build/Workers/chunk-SBBIEHYT.js +44 -0
  133. package/Build/Workers/chunk-SBEQLEO5.js +352 -0
  134. package/Build/Workers/chunk-SGC2GT3Y.js +1284 -0
  135. package/Build/Workers/chunk-SKLK4CBL.js +162 -0
  136. package/Build/Workers/chunk-SWVZTU6X.js +305 -0
  137. package/Build/Workers/chunk-T3EUPM5A.js +454 -0
  138. package/Build/Workers/chunk-TA6IU2XL.js +171 -0
  139. package/Build/Workers/chunk-TLSGD5TR.js +280 -0
  140. package/Build/Workers/chunk-TNDQT5AB.js +682 -0
  141. package/Build/Workers/chunk-TOXDLWKZ.js +368 -0
  142. package/Build/Workers/chunk-TZBM6TAB.js +124 -0
  143. package/Build/Workers/chunk-U2OY6MX6.js +398 -0
  144. package/Build/Workers/chunk-UCY4B5EV.js +288 -0
  145. package/Build/Workers/chunk-V52FEPCV.js +754 -0
  146. package/Build/Workers/chunk-VBEXZBG5.js +147 -0
  147. package/Build/Workers/chunk-VC76B6GM.js +959 -0
  148. package/Build/Workers/chunk-VCUOYHWC.js +519 -0
  149. package/Build/Workers/chunk-VDBQVKTF.js +387 -0
  150. package/Build/Workers/chunk-VJIL5H6K.js +2719 -0
  151. package/Build/Workers/chunk-VJLDRHKN.js +511 -0
  152. package/Build/Workers/chunk-VMF7KOGY.js +162 -0
  153. package/Build/Workers/chunk-W3X2ZAEJ.js +52 -0
  154. package/Build/Workers/chunk-W5OCKMPJ.js +101 -0
  155. package/Build/Workers/chunk-X4VZ33YL.js +454 -0
  156. package/Build/Workers/chunk-XDM5A6C4.js +102 -0
  157. package/Build/Workers/chunk-XHT5SVP4.js +52 -0
  158. package/Build/Workers/chunk-XITBARMZ.js +2342 -0
  159. package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
  160. package/Build/Workers/chunk-XZ6HDXKM.js +76 -0
  161. package/Build/Workers/chunk-Y6AQK4FY.js +1344 -0
  162. package/Build/Workers/chunk-Y7NDFEQ3.js +398 -0
  163. package/Build/Workers/chunk-YBBQDYX2.js +301 -0
  164. package/Build/Workers/chunk-YHPYPVAB.js +837 -0
  165. package/Build/Workers/chunk-YJBPRW4A.js +415 -0
  166. package/Build/Workers/chunk-YNKK6BXY.js +454 -0
  167. package/Build/Workers/chunk-YRAJ74HR.js +305 -0
  168. package/Build/Workers/chunk-YULTZK5O.js +147 -0
  169. package/Build/Workers/chunk-YUNQYP3Z.js +9237 -0
  170. package/Build/Workers/chunk-YX2FOQMF.js +9237 -0
  171. package/Build/Workers/chunk-Z7BONRW2.js +241 -0
  172. package/Build/Workers/chunk-ZK2R3DEJ.js +1054 -0
  173. package/Build/Workers/combineGeometry.js +24 -24
  174. package/Build/Workers/createBoxGeometry.js +18 -18
  175. package/Build/Workers/createBoxOutlineGeometry.js +18 -18
  176. package/Build/Workers/createCircleGeometry.js +26 -26
  177. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  178. package/Build/Workers/createCoplanarPolygonGeometry.js +39 -39
  179. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +33 -33
  180. package/Build/Workers/createCorridorGeometry.js +36 -37
  181. package/Build/Workers/createCorridorOutlineGeometry.js +34 -35
  182. package/Build/Workers/createCylinderGeometry.js +20 -20
  183. package/Build/Workers/createCylinderOutlineGeometry.js +20 -20
  184. package/Build/Workers/createEllipseGeometry.js +26 -26
  185. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  186. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  187. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  188. package/Build/Workers/createFrustumGeometry.js +18 -18
  189. package/Build/Workers/createFrustumOutlineGeometry.js +20 -20
  190. package/Build/Workers/createGeometry.js +25 -24
  191. package/Build/Workers/createGroundPolylineGeometry.js +26 -26
  192. package/Build/Workers/createMvtTile.js +111 -19
  193. package/Build/Workers/createPlaneGeometry.js +18 -18
  194. package/Build/Workers/createPlaneOutlineGeometry.js +17 -17
  195. package/Build/Workers/createPolygonGeometry.js +36 -36
  196. package/Build/Workers/createPolygonOutlineGeometry.js +33 -33
  197. package/Build/Workers/createPolylineGeometry.js +28 -28
  198. package/Build/Workers/createPolylineVolumeGeometry.js +38 -36
  199. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -31
  200. package/Build/Workers/createRectangleGeometry.js +29 -29
  201. package/Build/Workers/createRectangleOutlineGeometry.js +23 -23
  202. package/Build/Workers/createSimplePolylineGeometry.js +26 -26
  203. package/Build/Workers/createSphereGeometry.js +19 -19
  204. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  205. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  206. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  207. package/Build/Workers/createVectorTileGeometries.js +24 -24
  208. package/Build/Workers/createVectorTilePoints.js +13 -13
  209. package/Build/Workers/createVectorTilePolygons.js +22 -22
  210. package/Build/Workers/createVectorTilePolylines.js +14 -14
  211. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +26 -26
  212. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -23
  213. package/Build/Workers/createVerticesFromHeightmap.js +23 -23
  214. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +21 -21
  215. package/Build/Workers/createWallGeometry.js +26 -26
  216. package/Build/Workers/createWallOutlineGeometry.js +26 -26
  217. package/Build/Workers/decodeDraco.js +10 -10
  218. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +993 -2334
  219. package/Build/Workers/decodeI3S.js +10 -10
  220. package/Build/Workers/gaussianSplatSorter.js +4 -4
  221. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  222. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  223. package/Build/Workers/transcodeKTX2.js +6 -6
  224. package/Build/Workers/transferTypedArrayTest.js +1 -1
  225. package/Build/Workers/upsampleQuantizedTerrainMesh.js +23 -23
  226. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +26 -26
  227. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
  228. package/Source/Core/BoundingRectangle.js +6 -8
  229. package/Source/Core/BoundingSphere.js +0 -3
  230. package/Source/Core/Cartesian2.js +1 -1
  231. package/Source/Core/Cartesian3.js +1 -1
  232. package/Source/Core/Cartesian4.js +1 -1
  233. package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
  234. package/Source/Core/Color.js +1 -0
  235. package/Source/Core/ComponentDatatype.js +35 -0
  236. package/Source/Core/CoplanarPolygonGeometry.js +2 -2
  237. package/Source/Core/CorridorGeometry.js +2 -4
  238. package/Source/Core/CorridorOutlineGeometry.js +1 -3
  239. package/Source/Core/EarthOrientationParameters.js +2 -2
  240. package/Source/Core/EllipseGeometryLibrary.js +2 -2
  241. package/Source/Core/EllipsoidGeodesic.js +3 -3
  242. package/Source/Core/EllipsoidRhumbLine.js +1 -1
  243. package/Source/Core/Heap.js +1 -1
  244. package/Source/Core/HermitePolynomialApproximation.js +215 -179
  245. package/Source/Core/InterpolationAlgorithm.js +58 -50
  246. package/Source/Core/Ion.js +1 -1
  247. package/Source/Core/JulianDate.js +1 -1
  248. package/Source/Core/LagrangePolynomialApproximation.js +55 -52
  249. package/Source/Core/LinearApproximation.js +69 -66
  250. package/Source/Core/MapProjection.js +1 -0
  251. package/Source/Core/Math.js +59 -0
  252. package/Source/Core/Matrix2.js +3 -3
  253. package/Source/Core/Matrix3.js +3 -3
  254. package/Source/Core/Matrix4.js +1 -1
  255. package/Source/Core/OrthographicFrustum.js +1 -1
  256. package/Source/Core/PerspectiveFrustum.js +1 -1
  257. package/Source/Core/PolygonGeometry.js +2 -2
  258. package/Source/Core/PolygonGeometryLibrary.js +1 -1
  259. package/Source/Core/PolygonOutlineGeometry.js +1 -1
  260. package/Source/Core/PolylineGeometry.js +1 -1
  261. package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
  262. package/Source/Core/Rectangle.js +7 -1
  263. package/Source/Core/RectangleOutlineGeometry.js +1 -1
  264. package/Source/Core/Resource.js +1 -1
  265. package/Source/Core/ScreenSpaceEventHandler.js +51 -41
  266. package/Source/Core/SimplePolylineGeometry.js +1 -1
  267. package/Source/Core/TerrainEncoding.js +2 -2
  268. package/Source/Core/TerrainMesh.js +3 -3
  269. package/Source/Core/TerrainPicker.js +180 -168
  270. package/Source/Core/TimeIntervalCollection.js +1 -3
  271. package/Source/Core/Tipsify.js +1 -1
  272. package/Source/Core/Transforms.js +5 -1
  273. package/Source/Core/VectorPipeline.js +1117 -0
  274. package/Source/Core/VectorProvider.js +429 -0
  275. package/Source/Core/WallOutlineGeometry.js +1 -1
  276. package/Source/Core/createColorRamp.js +37 -0
  277. package/Source/Core/getTimestamp.js +4 -2
  278. package/Source/Core/globalTypes.js +25 -0
  279. package/Source/Core/writeTextToCanvas.js +1 -0
  280. package/Source/DataSources/CompositeEntityCollection.js +0 -1
  281. package/Source/DataSources/CzmlDataSource.js +14 -0
  282. package/Source/DataSources/DataSourceDisplay.js +1 -1
  283. package/Source/DataSources/GeoJsonDataSource.js +0 -1
  284. package/Source/DataSources/GeometryVisualizer.js +1 -1
  285. package/Source/DataSources/KmlDataSource.js +529 -557
  286. package/Source/DataSources/PathGraphics.js +8 -1
  287. package/Source/DataSources/PathMode.js +27 -0
  288. package/Source/DataSources/PathVisualizer.js +298 -1
  289. package/Source/DataSources/PolylineVisualizer.js +1 -1
  290. package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
  291. package/Source/Renderer/AutomaticUniforms.js +23 -0
  292. package/Source/Renderer/Context.js +9 -3
  293. package/Source/Renderer/DrawCommand.js +22 -0
  294. package/Source/Renderer/Framebuffer.js +4 -0
  295. package/Source/Renderer/Pass.js +11 -9
  296. package/Source/Renderer/Texture.js +12 -1
  297. package/Source/Renderer/UniformState.js +7 -0
  298. package/Source/Renderer/VertexArray.js +1 -1
  299. package/Source/Renderer/createUniform.js +346 -239
  300. package/Source/Renderer/createUniformArray.js +494 -381
  301. package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
  302. package/Source/Scene/ArcGisMapService.js +1 -1
  303. package/Source/Scene/Billboard.js +2 -1
  304. package/Source/Scene/BillboardCollection.js +15 -5
  305. package/Source/Scene/BillboardTexture.js +5 -3
  306. package/Source/Scene/BufferPointCollection.js +11 -1
  307. package/Source/Scene/BufferPolygonCollection.js +26 -0
  308. package/Source/Scene/BufferPolylineCollection.js +2 -0
  309. package/Source/Scene/BufferPrimitiveCollection.js +105 -32
  310. package/Source/Scene/Camera.js +85 -9
  311. package/Source/Scene/CameraEventAggregator.js +30 -18
  312. package/Source/Scene/CameraFlightPath.js +7 -4
  313. package/Source/Scene/Cesium3DTile.js +102 -4
  314. package/Source/Scene/Cesium3DTileContent.js +195 -254
  315. package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
  316. package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
  317. package/Source/Scene/Cesium3DTileStyle.js +40 -0
  318. package/Source/Scene/Cesium3DTileset.js +213 -8
  319. package/Source/Scene/Cesium3DTilesetTraversal.js +14 -0
  320. package/Source/Scene/ClippingPlaneCollection.js +4 -4
  321. package/Source/Scene/ClippingPolygon.js +2 -0
  322. package/Source/Scene/ClippingPolygonCollection.js +2 -2
  323. package/Source/Scene/Composite3DTileContent.js +254 -292
  324. package/Source/Scene/Controllers/Controller.js +63 -0
  325. package/Source/Scene/Controllers/ControllerHost.js +78 -0
  326. package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
  327. package/Source/Scene/Controllers/MouseButton.js +32 -0
  328. package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
  329. package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
  330. package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
  331. package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
  332. package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
  333. package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
  334. package/Source/Scene/DerivedCommand.js +98 -0
  335. package/Source/Scene/EdgeDisplayMode.js +50 -0
  336. package/Source/Scene/EdgeFramebuffer.js +1 -5
  337. package/Source/Scene/Empty3DTileContent.js +100 -132
  338. package/Source/Scene/Expression.js +6 -8
  339. package/Source/Scene/FrameState.js +17 -0
  340. package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
  341. package/Source/Scene/GeoJsonPrimitive.js +874 -0
  342. package/Source/Scene/Geometry3DTileContent.js +151 -185
  343. package/Source/Scene/Globe.js +22 -1
  344. package/Source/Scene/GlobeDepth.js +27 -1
  345. package/Source/Scene/GlobeSurfaceShaderSet.js +637 -540
  346. package/Source/Scene/GlobeSurfaceTile.js +575 -398
  347. package/Source/Scene/GlobeSurfaceTileProvider.js +1412 -1184
  348. package/Source/Scene/GltfBufferViewLoader.js +3 -3
  349. package/Source/Scene/GltfLoader.js +146 -3
  350. package/Source/Scene/GltfLoaderUtil.js +20 -4
  351. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
  352. package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
  353. package/Source/Scene/GltfSpzLoader.js +1 -1
  354. package/Source/Scene/GltfVertexBufferLoader.js +6 -3
  355. package/Source/Scene/I3SDataProvider.js +1 -1
  356. package/Source/Scene/I3SLayer.js +1 -1
  357. package/Source/Scene/I3SNode.js +2 -2
  358. package/Source/Scene/ImageryLayer.js +2 -2
  359. package/Source/Scene/ImageryLayerCollection.js +190 -6
  360. package/Source/Scene/Implicit3DTileContent.js +192 -216
  361. package/Source/Scene/ImplicitTileCoordinates.js +17 -0
  362. package/Source/Scene/IonImageryProvider.js +1 -5
  363. package/Source/Scene/Label.js +4 -4
  364. package/Source/Scene/LabelCollection.js +4 -1
  365. package/Source/Scene/MVTDataProvider.js +555 -0
  366. package/Source/Scene/Material.js +1 -0
  367. package/Source/Scene/Model/B3dmLoader.js +1 -2
  368. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +82 -312
  369. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
  370. package/Source/Scene/Model/I3dmLoader.js +1 -1
  371. package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
  372. package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
  373. package/Source/Scene/Model/Model.js +45 -10
  374. package/Source/Scene/Model/Model3DTileContent.js +424 -458
  375. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
  376. package/Source/Scene/Model/ModelDrawCommand.js +180 -8
  377. package/Source/Scene/Model/ModelDrawCommands.js +4 -0
  378. package/Source/Scene/Model/ModelSceneGraph.js +21 -0
  379. package/Source/Scene/Model/ModelUtility.js +5 -0
  380. package/Source/Scene/Model/PickingPipelineStage.js +29 -0
  381. package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
  382. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +645 -153
  383. package/Source/Scene/ModelComponents.js +112 -0
  384. package/Source/Scene/Multiple3DTileContent.js +291 -334
  385. package/Source/Scene/MvtLabelCandidates.js +295 -0
  386. package/Source/Scene/MvtLabelManager.js +1069 -0
  387. package/Source/Scene/Picking.js +19 -3
  388. package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
  389. package/Source/Scene/PntsParser.js +1 -1
  390. package/Source/Scene/PolylineCollection.js +5 -3
  391. package/Source/Scene/PostProcessStage.js +4 -2
  392. package/Source/Scene/QuadtreePrimitive.js +3 -2
  393. package/Source/Scene/ResourceCache.js +7 -4
  394. package/Source/Scene/ResourceCacheKey.js +21 -18
  395. package/Source/Scene/Scene.js +237 -11
  396. package/Source/Scene/SceneTransforms.js +6 -5
  397. package/Source/Scene/ShadowMap.js +9 -3
  398. package/Source/Scene/ShadowMapShader.js +50 -2
  399. package/Source/Scene/SnapFramebuffer.js +121 -0
  400. package/Source/Scene/Snapping.js +184 -0
  401. package/Source/Scene/TerrainFillMesh.js +3 -2
  402. package/Source/Scene/Tileset3DTileContent.js +113 -146
  403. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +543 -0
  404. package/Source/Scene/Vector3DTileContent.js +207 -237
  405. package/Source/Scene/VectorGltf3DTileContent.js +185 -45
  406. package/Source/Scene/View.js +10 -8
  407. package/Source/Scene/VoxelPrimitive.js +159 -175
  408. package/Source/Scene/VoxelProvider.js +64 -91
  409. package/Source/Scene/VoxelTraversal.js +1 -1
  410. package/Source/Scene/buildVectorGltfFromMVT.js +1208 -0
  411. package/Source/Scene/buildVoxelCustomShader.js +199 -0
  412. package/Source/Scene/createElevationBandMaterial.js +1 -1
  413. package/Source/Scene/decodeMVT.js +877 -0
  414. package/Source/Scene/findMeshoptExtension.js +23 -0
  415. package/Source/Scene/renderBufferPointCollection.js +114 -64
  416. package/Source/Scene/renderBufferPolygonCollection.js +245 -53
  417. package/Source/Scene/renderBufferPolylineCollection.js +271 -145
  418. package/Source/Shaders/BillboardCollectionVS.glsl +23 -25
  419. package/Source/Shaders/BillboardCollectionVS.js +23 -25
  420. package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
  421. package/Source/Shaders/BufferPointMaterialFS.js +1 -0
  422. package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
  423. package/Source/Shaders/BufferPointMaterialVS.js +20 -10
  424. package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
  425. package/Source/Shaders/BufferPolygonMaterialFS.js +13 -0
  426. package/Source/Shaders/BufferPolygonMaterialVS.glsl +22 -4
  427. package/Source/Shaders/BufferPolygonMaterialVS.js +23 -5
  428. package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
  429. package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
  430. package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
  431. package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
  432. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
  433. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
  434. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
  435. package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
  436. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
  437. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
  438. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
  439. package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
  440. package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
  441. package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
  442. package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
  443. package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
  444. package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
  445. package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
  446. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  447. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  448. package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
  449. package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
  450. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
  451. package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
  452. package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
  453. package/Source/Shaders/GlobeFS.glsl +10 -6
  454. package/Source/Shaders/GlobeFS.js +10 -6
  455. package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
  456. package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
  457. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
  458. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
  459. package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
  460. package/Source/Shaders/Model/MaterialStageFS.js +8 -2
  461. package/Source/Shaders/Model/ModelFS.glsl +105 -0
  462. package/Source/Shaders/Model/ModelFS.js +105 -0
  463. package/Source/Shaders/VectorCommon.glsl +178 -0
  464. package/Source/Shaders/VectorCommon.js +180 -0
  465. package/Source/ThirdParty/zip-module.wasm +0 -0
  466. package/Source/Widget/CesiumWidget.js +30 -0
  467. package/Source/Workers/createMvtTile.js +39 -0
  468. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
  469. package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
  470. package/index.js +214 -184
  471. package/package.json +13 -13
@@ -0,0 +1,184 @@
1
+ import BoundingRectangle from "../Core/BoundingRectangle.js";
2
+ import Cartesian2 from "../Core/Cartesian2.js";
3
+ import Cartesian3 from "../Core/Cartesian3.js";
4
+ import Check from "../Core/Check.js";
5
+ import defined from "../Core/defined.js";
6
+ import oneTimeWarning from "../Core/oneTimeWarning.js";
7
+ import Ray from "../Core/Ray.js";
8
+ import { pickBegin, pickEnd } from "./Picking.js";
9
+ import SnapFramebuffer from "./SnapFramebuffer.js";
10
+
11
+ /**
12
+ * Implementation of {@link Scene#snap}: snap-to-geometry picking.
13
+ *
14
+ * A snapping pass is an offscreen pick render (it reuses the pick render
15
+ * machinery via <code>pickBegin</code>/<code>pickEnd</code>) that targets a
16
+ * dedicated RGBA32F framebuffer instead of the RGBA8 pick framebuffer. Each
17
+ * pixel carries a fuller payload than a pick color:
18
+ * <ul>
19
+ * <li>R: pick ID (uint32)</li>
20
+ * <li>G: isEdge flag (0.0/1.0)</li>
21
+ * <li>B: linear eye-space depth (meters)</li>
22
+ * <li>A: unused</li>
23
+ * </ul>
24
+ * The payload expression is built in PickingPipelineStage (DrawCommand.snapId)
25
+ * and compiled into a snap-derived shader by
26
+ * DerivedCommand.createSnapDerivedCommand. Only commands with a
27
+ * <code>snapId</code> (i.e. Model-pipeline primitives) render during a
28
+ * snapping pass.
29
+ *
30
+ * @namespace Snapping
31
+ *
32
+ * @private
33
+ */
34
+ const Snapping = {};
35
+
36
+ const scratchRectangle = new BoundingRectangle(0.0, 0.0, 3.0, 3.0);
37
+ const scratchSnapCoord = new Cartesian2();
38
+ const scratchSnapRay = new Ray();
39
+ const scratchSnapOffset = new Cartesian3();
40
+
41
+ // Radius around the crosshair, in pixels, used to sample the nearest surface
42
+ // (the occluder the cursor is on).
43
+ const SNAP_OCCLUDER_RADIUS_PIXELS = 3.0;
44
+
45
+ // An edge more than this fraction deeper than that surface is treated as
46
+ // occluded by it (the edge is only visible because it pokes through a gap in a
47
+ // nearer silhouette), so snap doesn't punch through to geometry behind the
48
+ // object the cursor is on.
49
+ const SNAP_OCCLUSION_TOLERANCE = 0.1;
50
+
51
+ function cursorDist(hit) {
52
+ return Math.sqrt(hit.x * hit.x + hit.y * hit.y);
53
+ }
54
+
55
+ function selectBestHit(hits) {
56
+ // Depth of the nearest surface under the crosshair; edges well behind it are
57
+ // occluded by the object the cursor is on and must not win.
58
+ let occluderDepth = Number.POSITIVE_INFINITY;
59
+ for (const hit of hits) {
60
+ if (!hit.isEdge && cursorDist(hit) <= SNAP_OCCLUDER_RADIUS_PIXELS) {
61
+ occluderDepth = Math.min(occluderDepth, hit.depth);
62
+ }
63
+ }
64
+ const maxEdgeDepth = occluderDepth * (1.0 + SNAP_OCCLUSION_TOLERANCE);
65
+
66
+ // Edges outrank surfaces, but only edges in front of (or at) the occluder;
67
+ // otherwise fall back to the closest surface. Within the chosen group the
68
+ // hit closest to the crosshair wins.
69
+ const visible = hits.filter(
70
+ (hit) => !hit.isEdge || hit.depth <= maxEdgeDepth,
71
+ );
72
+ const wantEdge = visible.some((hit) => hit.isEdge);
73
+ const group = visible.filter((hit) => hit.isEdge === wantEdge);
74
+ return group.reduce((best, hit) =>
75
+ cursorDist(hit) < cursorDist(best) ? hit : best,
76
+ );
77
+ }
78
+
79
+ // Unproject a snap hit's eye-space depth (channel B of the snap framebuffer,
80
+ // written by the snap shader at the edge fragment itself) into a world
81
+ // position.
82
+ function snapHitToWorld(scene, windowPosition, hit) {
83
+ const coords = scratchSnapCoord;
84
+ coords.x = windowPosition.x + hit.x;
85
+ coords.y = windowPosition.y + hit.y;
86
+
87
+ const ray = scene.camera.getPickRay(coords, scratchSnapRay);
88
+ if (!defined(ray)) {
89
+ return undefined;
90
+ }
91
+
92
+ // hit.depth is perpendicular distance from the camera plane along the view
93
+ // direction; convert to distance along the (non-axis-aligned) pick ray.
94
+ const cos = Cartesian3.dot(ray.direction, scene.camera.directionWC);
95
+ if (cos <= 0.0) {
96
+ return undefined;
97
+ }
98
+ const t = hit.depth / cos;
99
+
100
+ const offset = Cartesian3.multiplyByScalar(
101
+ ray.direction,
102
+ t,
103
+ scratchSnapOffset,
104
+ );
105
+ return Cartesian3.add(ray.origin, offset, new Cartesian3());
106
+ }
107
+
108
+ /**
109
+ * Returns the best snap target in a screen-space region around
110
+ * <code>windowPosition</code>. See {@link Scene#snap} for the public API.
111
+ *
112
+ * @param {Scene} scene
113
+ * @param {Cartesian2} windowPosition Window coordinates at the center of the search region.
114
+ * @param {object} [options] Object with the following properties:
115
+ * @param {number} [options.width=25] Width of the search region in pixels.
116
+ * @param {number} [options.height=options.width] Height of the search region in pixels.
117
+ * @returns {SceneSnapResult | undefined}
118
+ *
119
+ * @private
120
+ */
121
+ Snapping.snap = function (scene, windowPosition, options) {
122
+ //>>includeStart('debug', pragmas.debug);
123
+ Check.defined("windowPosition", windowPosition);
124
+ //>>includeEnd('debug');
125
+
126
+ const width = options?.width ?? 25;
127
+ const height = options?.height ?? width;
128
+
129
+ const { context, defaultView } = scene;
130
+
131
+ // The snap framebuffer is RGBA32F; rendering to it requires float color
132
+ // attachment support.
133
+ if (!context.colorBufferFloat) {
134
+ oneTimeWarning(
135
+ "snap-color-buffer-float",
136
+ "Scene.snap requires the EXT_color_buffer_float extension, which is not supported on this platform.",
137
+ );
138
+ return undefined;
139
+ }
140
+
141
+ // Created lazily so applications that never snap pay no framebuffer cost.
142
+ if (!defined(defaultView.snapFramebuffer)) {
143
+ defaultView.snapFramebuffer = new SnapFramebuffer(context);
144
+ }
145
+ const snapFramebuffer = defaultView.snapFramebuffer;
146
+
147
+ const drawingBufferRectangle = scratchRectangle;
148
+ pickBegin(scene, windowPosition, drawingBufferRectangle, width, height, {
149
+ framebuffer: snapFramebuffer,
150
+ snap: true,
151
+ });
152
+ const hits = snapFramebuffer.end(drawingBufferRectangle);
153
+ pickEnd(scene);
154
+
155
+ if (hits.length === 0) {
156
+ return undefined;
157
+ }
158
+
159
+ const best = selectBestHit(hits);
160
+ if (!defined(best)) {
161
+ return undefined;
162
+ }
163
+
164
+ const position = snapHitToWorld(scene, windowPosition, best);
165
+ if (!defined(position)) {
166
+ return undefined;
167
+ }
168
+
169
+ return {
170
+ object: best.object,
171
+ isEdge: best.isEdge,
172
+ position: position,
173
+ screenPosition: new Cartesian2(
174
+ windowPosition.x + best.x,
175
+ windowPosition.y + best.y,
176
+ ),
177
+ };
178
+ };
179
+
180
+ // Exposed for testing.
181
+ Snapping._selectBestHit = selectBestHit;
182
+ Snapping._snapHitToWorld = snapHitToWorld;
183
+
184
+ export default Snapping;
@@ -823,6 +823,7 @@ function createFillMesh(tileProvider, frameState, tile, vertexArraysToDestroy) {
823
823
  GlobeSurfaceTile.initialize(
824
824
  tile,
825
825
  tileProvider.terrainProvider,
826
+ tileProvider.vectorProvider,
826
827
  tileProvider._imageryLayers,
827
828
  );
828
829
 
@@ -1243,7 +1244,7 @@ function createFillMesh(tileProvider, frameState, tile, vertexArraysToDestroy) {
1243
1244
 
1244
1245
  indices[indexOut++] = centerIndex;
1245
1246
  indices[indexOut++] = i;
1246
- indices[indexOut++] = 0;
1247
+ indices[indexOut] = 0;
1247
1248
 
1248
1249
  const westIndicesSouthToNorth = [];
1249
1250
  for (i = southwestIndex; i >= northwestIndex; --i) {
@@ -1800,7 +1801,7 @@ function addEdgeMesh(
1800
1801
  heightRange,
1801
1802
  ) {
1802
1803
  // Handle copying edges across the anti-meridian.
1803
- let sourceRectangle = edgeTile.rectangle;
1804
+ let sourceRectangle;
1804
1805
  if (tileEdge === TileEdge.EAST && terrainFillMesh.tile.x === 0) {
1805
1806
  sourceRectangle = Rectangle.clone(
1806
1807
  edgeTile.rectangle,
@@ -8,175 +8,142 @@ import destroyObject from "../Core/destroyObject.js";
8
8
  * Implements the {@link Cesium3DTileContent} interface.
9
9
  * </p>
10
10
  *
11
- * @alias Tileset3DTileContent
12
- * @constructor
13
- *
11
+ * @implements Cesium3DTileContent
14
12
  * @private
15
13
  */
16
- function Tileset3DTileContent(tileset, tile, resource) {
17
- this._tileset = tileset;
18
- this._tile = tile;
19
- this._resource = resource;
14
+ class Tileset3DTileContent {
15
+ constructor(tileset, tile, resource) {
16
+ this._tileset = tileset;
17
+ this._tile = tile;
18
+ this._resource = resource;
20
19
 
21
- this.featurePropertiesDirty = false;
20
+ this.featurePropertiesDirty = false;
22
21
 
23
- this._metadata = undefined;
24
- this._group = undefined;
22
+ this._metadata = undefined;
23
+ this._group = undefined;
25
24
 
26
- this._ready = false;
27
- }
25
+ this._ready = false;
26
+ }
27
+
28
+ get featuresLength() {
29
+ return 0;
30
+ }
31
+
32
+ get pointsLength() {
33
+ return 0;
34
+ }
35
+
36
+ get trianglesLength() {
37
+ return 0;
38
+ }
39
+
40
+ get geometryByteLength() {
41
+ return 0;
42
+ }
43
+
44
+ get texturesByteLength() {
45
+ return 0;
46
+ }
28
47
 
29
- Object.defineProperties(Tileset3DTileContent.prototype, {
30
- featuresLength: {
31
- get: function () {
32
- return 0;
33
- },
34
- },
35
-
36
- pointsLength: {
37
- get: function () {
38
- return 0;
39
- },
40
- },
41
-
42
- trianglesLength: {
43
- get: function () {
44
- return 0;
45
- },
46
- },
47
-
48
- geometryByteLength: {
49
- get: function () {
50
- return 0;
51
- },
52
- },
53
-
54
- texturesByteLength: {
55
- get: function () {
56
- return 0;
57
- },
58
- },
59
-
60
- batchTableByteLength: {
61
- get: function () {
62
- return 0;
63
- },
64
- },
65
-
66
- innerContents: {
67
- get: function () {
68
- return undefined;
69
- },
70
- },
48
+ get batchTableByteLength() {
49
+ return 0;
50
+ }
51
+
52
+ get innerContents() {
53
+ return undefined;
54
+ }
71
55
 
72
56
  /**
73
57
  * Returns true when the tile's content is ready to render; otherwise false
74
58
  *
75
- * @memberof Tileset3DTileContent.prototype
76
59
  *
77
60
  * @type {boolean}
78
61
  * @readonly
79
62
  * @private
80
63
  */
81
- ready: {
82
- get: function () {
83
- return this._ready;
84
- },
85
- },
86
-
87
- tileset: {
88
- get: function () {
89
- return this._tileset;
90
- },
91
- },
92
-
93
- tile: {
94
- get: function () {
95
- return this._tile;
96
- },
97
- },
98
-
99
- url: {
100
- get: function () {
101
- return this._resource.getUrlComponent(true);
102
- },
103
- },
104
-
105
- batchTable: {
106
- get: function () {
107
- return undefined;
108
- },
109
- },
110
-
111
- metadata: {
112
- get: function () {
113
- return this._metadata;
114
- },
115
- set: function (value) {
116
- this._metadata = value;
117
- },
118
- },
119
-
120
- group: {
121
- get: function () {
122
- return this._group;
123
- },
124
- set: function (value) {
125
- this._group = value;
126
- },
127
- },
128
- });
64
+ get ready() {
65
+ return this._ready;
66
+ }
129
67
 
130
- /**
131
- * Creates an instance of Tileset3DTileContent from a parsed JSON object
132
- * @param {Cesium3DTileset} tileset
133
- * @param {Cesium3DTile} tile
134
- * @param {Resource} resource
135
- * @param {object} json
136
- * @returns {Tileset3DTileContent}
137
- */
138
- Tileset3DTileContent.fromJson = function (tileset, tile, resource, json) {
139
- const content = new Tileset3DTileContent(tileset, tile, resource);
140
- content._tileset.loadTileset(content._resource, json, content._tile);
141
- content._ready = true;
68
+ get tileset() {
69
+ return this._tileset;
70
+ }
142
71
 
143
- return content;
144
- };
72
+ get tile() {
73
+ return this._tile;
74
+ }
145
75
 
146
- /**
147
- * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
148
- * always returns <code>false</code> since a tile of this type does not have any features.
149
- */
150
- Tileset3DTileContent.prototype.hasProperty = function (batchId, name) {
151
- return false;
152
- };
76
+ get url() {
77
+ return this._resource.getUrlComponent(true);
78
+ }
153
79
 
154
- /**
155
- * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
156
- * always returns <code>undefined</code> since a tile of this type does not have any features.
157
- */
158
- Tileset3DTileContent.prototype.getFeature = function (batchId) {
159
- return undefined;
160
- };
80
+ get batchTable() {
81
+ return undefined;
82
+ }
161
83
 
162
- Tileset3DTileContent.prototype.applyDebugSettings = function (
163
- enabled,
164
- color,
165
- ) {};
84
+ get metadata() {
85
+ return this._metadata;
86
+ }
166
87
 
167
- Tileset3DTileContent.prototype.applyStyle = function (style) {};
88
+ set metadata(value) {
89
+ this._metadata = value;
90
+ }
168
91
 
169
- Tileset3DTileContent.prototype.update = function (tileset, frameState) {};
92
+ get group() {
93
+ return this._group;
94
+ }
170
95
 
171
- Tileset3DTileContent.prototype.pick = function (ray, frameState, result) {
172
- return undefined;
173
- };
96
+ set group(value) {
97
+ this._group = value;
98
+ }
174
99
 
175
- Tileset3DTileContent.prototype.isDestroyed = function () {
176
- return false;
177
- };
100
+ /**
101
+ * Creates an instance of Tileset3DTileContent from a parsed JSON object
102
+ * @param {Cesium3DTileset} tileset
103
+ * @param {Cesium3DTile} tile
104
+ * @param {Resource} resource
105
+ * @param {object} json
106
+ * @returns {Tileset3DTileContent}
107
+ */
108
+ static fromJson(tileset, tile, resource, json) {
109
+ const content = new Tileset3DTileContent(tileset, tile, resource);
110
+ content._tileset.loadTileset(content._resource, json, content._tile);
111
+ content._ready = true;
112
+
113
+ return content;
114
+ }
115
+
116
+ /**
117
+ * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
118
+ * always returns <code>false</code> since a tile of this type does not have any features.
119
+ */
120
+ hasProperty(batchId, name) {
121
+ return false;
122
+ }
123
+
124
+ /**
125
+ * Part of the {@link Cesium3DTileContent} interface. <code>Tileset3DTileContent</code>
126
+ * always returns <code>undefined</code> since a tile of this type does not have any features.
127
+ */
128
+ getFeature(batchId) {
129
+ return undefined;
130
+ }
131
+
132
+ applyDebugSettings(enabled, color) {}
133
+ applyStyle(style) {}
134
+ update(tileset, frameState) {}
135
+
136
+ pick(ray, frameState, result) {
137
+ return undefined;
138
+ }
139
+
140
+ isDestroyed() {
141
+ return false;
142
+ }
143
+
144
+ destroy() {
145
+ return destroyObject(this);
146
+ }
147
+ }
178
148
 
179
- Tileset3DTileContent.prototype.destroy = function () {
180
- return destroyObject(this);
181
- };
182
149
  export default Tileset3DTileContent;