@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.
- package/Build/Workers/chunk-2FNKHQL3.js +754 -0
- package/Build/Workers/chunk-2NCNUVAT.js +56 -0
- package/Build/Workers/chunk-2ZYRUVVU.js +301 -0
- package/Build/Workers/chunk-36IU7N4V.js +1284 -0
- package/Build/Workers/chunk-3BDLET5S.js +198 -0
- package/Build/Workers/chunk-3JZXI44G.js +3822 -0
- package/Build/Workers/chunk-3N2UNLWJ.js +101 -0
- package/Build/Workers/chunk-3NCG2YYR.js +58 -0
- package/Build/Workers/chunk-3PRHI4KX.js +241 -0
- package/Build/Workers/chunk-3R6E2SH4.js +672 -0
- package/Build/Workers/chunk-3ZKKXEXL.js +415 -0
- package/Build/Workers/chunk-47KVKPTO.js +415 -0
- package/Build/Workers/chunk-4FFIJ7ZV.js +56 -0
- package/Build/Workers/chunk-4N227IPR.js +973 -0
- package/Build/Workers/chunk-4P6OAPBM.js +97 -0
- package/Build/Workers/chunk-4XR3K4GD.js +280 -0
- package/Build/Workers/chunk-4Z2JINRS.js +519 -0
- package/Build/Workers/chunk-4ZOLEPZK.js +519 -0
- package/Build/Workers/chunk-5EF3WWQG.js +352 -0
- package/Build/Workers/chunk-5I76476T.js +288 -0
- package/Build/Workers/chunk-5PBZKBAP.js +511 -0
- package/Build/Workers/chunk-5RVAAW26.js +82 -0
- package/Build/Workers/chunk-5VWK76PO.js +511 -0
- package/Build/Workers/chunk-6SEICASZ.js +241 -0
- package/Build/Workers/chunk-77DBX23X.js +455 -0
- package/Build/Workers/chunk-7C2D3DTI.js +959 -0
- package/Build/Workers/chunk-7GQOWCSN.js +959 -0
- package/Build/Workers/chunk-7J2ONMKC.js +198 -0
- package/Build/Workers/chunk-7MHUHXZZ.js +219 -0
- package/Build/Workers/chunk-7MQPHOAS.js +455 -0
- package/Build/Workers/chunk-7NJ5O7TP.js +387 -0
- package/Build/Workers/chunk-7T4MW2W4.js +368 -0
- package/Build/Workers/chunk-7UXZUGUZ.js +82 -0
- package/Build/Workers/chunk-7Y642MCO.js +352 -0
- package/Build/Workers/chunk-7ZFKBLUE.js +1054 -0
- package/Build/Workers/chunk-A2UHPWPL.js +38 -0
- package/Build/Workers/chunk-A7LGY5XS.js +140 -0
- package/Build/Workers/chunk-AN2NVYL6.js +1483 -0
- package/Build/Workers/chunk-AS2QC7H2.js +219 -0
- package/Build/Workers/chunk-AVOLMIGJ.js +57 -0
- package/Build/Workers/chunk-B7PT2VL5.js +630 -0
- package/Build/Workers/chunk-BHRHMUDM.js +147 -0
- package/Build/Workers/chunk-BUWAHRK5.js +672 -0
- package/Build/Workers/chunk-C5ET5HON.js +198 -0
- package/Build/Workers/chunk-C6XQGBPV.js +476 -0
- package/Build/Workers/chunk-C7B672RR.js +73 -0
- package/Build/Workers/chunk-CAEC5DA2.js +57 -0
- package/Build/Workers/chunk-CBCOHH5O.js +837 -0
- package/Build/Workers/chunk-CEMXKBQO.js +1800 -0
- package/Build/Workers/chunk-CKW3STKA.js +1067 -0
- package/Build/Workers/chunk-CV5RICKT.js +1992 -0
- package/Build/Workers/chunk-DBWSISJT.js +56 -0
- package/Build/Workers/chunk-DCMOBPLG.js +352 -0
- package/Build/Workers/chunk-DSBSPPPJ.js +1344 -0
- package/Build/Workers/chunk-DSGLDRTI.js +278 -0
- package/Build/Workers/chunk-DXD7OPSP.js +1992 -0
- package/Build/Workers/chunk-DXECZBSA.js +368 -0
- package/Build/Workers/chunk-DZIRO6ZK.js +682 -0
- package/Build/Workers/chunk-E4CRPGX5.js +140 -0
- package/Build/Workers/chunk-E4IVMEBH.js +52 -0
- package/Build/Workers/chunk-E6IPM6HP.js +56 -0
- package/Build/Workers/chunk-EB2HAHRY.js +1054 -0
- package/Build/Workers/chunk-ECDCQXCO.js +1992 -0
- package/Build/Workers/chunk-ECN3VUMA.js +73 -0
- package/Build/Workers/chunk-ECSKVHUB.js +476 -0
- package/Build/Workers/chunk-EIENGLA5.js +278 -0
- package/Build/Workers/chunk-EK5CWDW2.js +476 -0
- package/Build/Workers/chunk-EL4B5CSQ.js +162 -0
- package/Build/Workers/chunk-EUCUBIEZ.js +97 -0
- package/Build/Workers/chunk-FAYBQGKO.js +219 -0
- package/Build/Workers/chunk-FGCXPEZM.js +3201 -0
- package/Build/Workers/chunk-FHCRXPA6.js +44 -0
- package/Build/Workers/chunk-FM6EQUFX.js +1800 -0
- package/Build/Workers/chunk-FPFGGQ4X.js +301 -0
- package/Build/Workers/chunk-FQ42MT7M.js +58 -0
- package/Build/Workers/chunk-FQDYQG4P.js +1284 -0
- package/Build/Workers/chunk-FQTV6W3I.js +973 -0
- package/Build/Workers/chunk-FTCBY5HH.js +138 -0
- package/Build/Workers/chunk-GI5RWJAY.js +101 -0
- package/Build/Workers/chunk-GNLMSDRO.js +945 -0
- package/Build/Workers/chunk-GTA727KQ.js +140 -0
- package/Build/Workers/chunk-GVUJ6O3R.js +73 -0
- package/Build/Workers/chunk-GXTM7AG3.js +1483 -0
- package/Build/Workers/chunk-HAXQB2FS.js +2719 -0
- package/Build/Workers/chunk-HCGU7OCG.js +97 -0
- package/Build/Workers/chunk-HRIPVWSC.js +58 -0
- package/Build/Workers/chunk-IC3BR6SC.js +102 -0
- package/Build/Workers/chunk-IEPPOHF3.js +44 -0
- package/Build/Workers/chunk-IU3YAYPT.js +1344 -0
- package/Build/Workers/chunk-J3AXZ4WC.js +124 -0
- package/Build/Workers/chunk-J7MZR7B2.js +1483 -0
- package/Build/Workers/chunk-KBNW776Q.js +305 -0
- package/Build/Workers/chunk-KBSWXVSY.js +837 -0
- package/Build/Workers/chunk-KEYTLNVK.js +1067 -0
- package/Build/Workers/chunk-KN3RQWUA.js +3201 -0
- package/Build/Workers/chunk-KSIEJYNL.js +3822 -0
- package/Build/Workers/chunk-KT3GG7AW.js +754 -0
- package/Build/Workers/chunk-KYCEM22I.js +1800 -0
- package/Build/Workers/chunk-L2TFZKN6.js +455 -0
- package/Build/Workers/chunk-LHKE2VUR.js +945 -0
- package/Build/Workers/chunk-LJTQW46H.js +57 -0
- package/Build/Workers/chunk-LMQGYJME.js +672 -0
- package/Build/Workers/chunk-LOBYJQA4.js +76 -0
- package/Build/Workers/chunk-LOF32O7F.js +163 -0
- package/Build/Workers/chunk-LOTIJA7D.js +124 -0
- package/Build/Workers/chunk-M7Z3MPAX.js +973 -0
- package/Build/Workers/chunk-MHNLTQHO.js +3201 -0
- package/Build/Workers/chunk-MICPAD7R.js +398 -0
- package/Build/Workers/chunk-ML7OMD72.js +2342 -0
- package/Build/Workers/chunk-MPJ73WMH.js +138 -0
- package/Build/Workers/chunk-MUTHG7T7.js +171 -0
- package/Build/Workers/chunk-NBTGXEMT.js +945 -0
- package/Build/Workers/chunk-NQZC37F7.js +38 -0
- package/Build/Workers/chunk-O3X3D2Z3.js +352 -0
- package/Build/Workers/chunk-OBUIHPKF.js +352 -0
- package/Build/Workers/chunk-PAEWNYIV.js +138 -0
- package/Build/Workers/chunk-PANJ7YH6.js +102 -0
- package/Build/Workers/chunk-PCL3Y7H5.js +82 -0
- package/Build/Workers/chunk-PHUELDXQ.js +76 -0
- package/Build/Workers/chunk-PIIUGRQD.js +387 -0
- package/Build/Workers/chunk-POKD22OT.js +2719 -0
- package/Build/Workers/chunk-PQMA7MFS.js +9237 -0
- package/Build/Workers/chunk-PQZW2QZG.js +163 -0
- package/Build/Workers/chunk-PURIPUSY.js +682 -0
- package/Build/Workers/chunk-QQZPPXY4.js +3822 -0
- package/Build/Workers/chunk-QXLQLGL2.js +1067 -0
- package/Build/Workers/chunk-R2JQAAU7.js +630 -0
- package/Build/Workers/chunk-RC4YC3VU.js +278 -0
- package/Build/Workers/chunk-RGNNWVR6.js +171 -0
- package/Build/Workers/chunk-RUOETBWP.js +288 -0
- package/Build/Workers/chunk-RV4EPLBO.js +2342 -0
- package/Build/Workers/chunk-SBBIEHYT.js +44 -0
- package/Build/Workers/chunk-SBEQLEO5.js +352 -0
- package/Build/Workers/chunk-SGC2GT3Y.js +1284 -0
- package/Build/Workers/chunk-SKLK4CBL.js +162 -0
- package/Build/Workers/chunk-SWVZTU6X.js +305 -0
- package/Build/Workers/chunk-T3EUPM5A.js +454 -0
- package/Build/Workers/chunk-TA6IU2XL.js +171 -0
- package/Build/Workers/chunk-TLSGD5TR.js +280 -0
- package/Build/Workers/chunk-TNDQT5AB.js +682 -0
- package/Build/Workers/chunk-TOXDLWKZ.js +368 -0
- package/Build/Workers/chunk-TZBM6TAB.js +124 -0
- package/Build/Workers/chunk-U2OY6MX6.js +398 -0
- package/Build/Workers/chunk-UCY4B5EV.js +288 -0
- package/Build/Workers/chunk-V52FEPCV.js +754 -0
- package/Build/Workers/chunk-VBEXZBG5.js +147 -0
- package/Build/Workers/chunk-VC76B6GM.js +959 -0
- package/Build/Workers/chunk-VCUOYHWC.js +519 -0
- package/Build/Workers/chunk-VDBQVKTF.js +387 -0
- package/Build/Workers/chunk-VJIL5H6K.js +2719 -0
- package/Build/Workers/chunk-VJLDRHKN.js +511 -0
- package/Build/Workers/chunk-VMF7KOGY.js +162 -0
- package/Build/Workers/chunk-W3X2ZAEJ.js +52 -0
- package/Build/Workers/chunk-W5OCKMPJ.js +101 -0
- package/Build/Workers/chunk-X4VZ33YL.js +454 -0
- package/Build/Workers/chunk-XDM5A6C4.js +102 -0
- package/Build/Workers/chunk-XHT5SVP4.js +52 -0
- package/Build/Workers/chunk-XITBARMZ.js +2342 -0
- package/Build/Workers/chunk-XLQZNQ4Z.js +163 -0
- package/Build/Workers/chunk-XZ6HDXKM.js +76 -0
- package/Build/Workers/chunk-Y6AQK4FY.js +1344 -0
- package/Build/Workers/chunk-Y7NDFEQ3.js +398 -0
- package/Build/Workers/chunk-YBBQDYX2.js +301 -0
- package/Build/Workers/chunk-YHPYPVAB.js +837 -0
- package/Build/Workers/chunk-YJBPRW4A.js +415 -0
- package/Build/Workers/chunk-YNKK6BXY.js +454 -0
- package/Build/Workers/chunk-YRAJ74HR.js +305 -0
- package/Build/Workers/chunk-YULTZK5O.js +147 -0
- package/Build/Workers/chunk-YUNQYP3Z.js +9237 -0
- package/Build/Workers/chunk-YX2FOQMF.js +9237 -0
- package/Build/Workers/chunk-Z7BONRW2.js +241 -0
- package/Build/Workers/chunk-ZK2R3DEJ.js +1054 -0
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +18 -18
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +39 -39
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +33 -33
- package/Build/Workers/createCorridorGeometry.js +36 -37
- package/Build/Workers/createCorridorOutlineGeometry.js +34 -35
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +20 -20
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +20 -20
- package/Build/Workers/createGeometry.js +25 -24
- package/Build/Workers/createGroundPolylineGeometry.js +26 -26
- package/Build/Workers/createMvtTile.js +111 -19
- package/Build/Workers/createPlaneGeometry.js +18 -18
- package/Build/Workers/createPlaneOutlineGeometry.js +17 -17
- package/Build/Workers/createPolygonGeometry.js +36 -36
- package/Build/Workers/createPolygonOutlineGeometry.js +33 -33
- package/Build/Workers/createPolylineGeometry.js +28 -28
- package/Build/Workers/createPolylineVolumeGeometry.js +38 -36
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -31
- package/Build/Workers/createRectangleGeometry.js +29 -29
- package/Build/Workers/createRectangleOutlineGeometry.js +23 -23
- package/Build/Workers/createSimplePolylineGeometry.js +26 -26
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +26 -26
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +23 -23
- package/Build/Workers/createVerticesFromHeightmap.js +23 -23
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +21 -21
- package/Build/Workers/createWallGeometry.js +26 -26
- package/Build/Workers/createWallOutlineGeometry.js +26 -26
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +993 -2334
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +6 -6
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +23 -23
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +26 -26
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +1 -5
- package/Source/Core/BoundingRectangle.js +6 -8
- package/Source/Core/BoundingSphere.js +0 -3
- package/Source/Core/Cartesian2.js +1 -1
- package/Source/Core/Cartesian3.js +1 -1
- package/Source/Core/Cartesian4.js +1 -1
- package/Source/Core/Cesium3DTilesTerrainGeometryProcessor.js +3 -4
- package/Source/Core/Color.js +1 -0
- package/Source/Core/ComponentDatatype.js +35 -0
- package/Source/Core/CoplanarPolygonGeometry.js +2 -2
- package/Source/Core/CorridorGeometry.js +2 -4
- package/Source/Core/CorridorOutlineGeometry.js +1 -3
- package/Source/Core/EarthOrientationParameters.js +2 -2
- package/Source/Core/EllipseGeometryLibrary.js +2 -2
- package/Source/Core/EllipsoidGeodesic.js +3 -3
- package/Source/Core/EllipsoidRhumbLine.js +1 -1
- package/Source/Core/Heap.js +1 -1
- package/Source/Core/HermitePolynomialApproximation.js +215 -179
- package/Source/Core/InterpolationAlgorithm.js +58 -50
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/JulianDate.js +1 -1
- package/Source/Core/LagrangePolynomialApproximation.js +55 -52
- package/Source/Core/LinearApproximation.js +69 -66
- package/Source/Core/MapProjection.js +1 -0
- package/Source/Core/Math.js +59 -0
- package/Source/Core/Matrix2.js +3 -3
- package/Source/Core/Matrix3.js +3 -3
- package/Source/Core/Matrix4.js +1 -1
- package/Source/Core/OrthographicFrustum.js +1 -1
- package/Source/Core/PerspectiveFrustum.js +1 -1
- package/Source/Core/PolygonGeometry.js +2 -2
- package/Source/Core/PolygonGeometryLibrary.js +1 -1
- package/Source/Core/PolygonOutlineGeometry.js +1 -1
- package/Source/Core/PolylineGeometry.js +1 -1
- package/Source/Core/PolylineVolumeGeometryLibrary.js +1 -1
- package/Source/Core/Rectangle.js +7 -1
- package/Source/Core/RectangleOutlineGeometry.js +1 -1
- package/Source/Core/Resource.js +1 -1
- package/Source/Core/ScreenSpaceEventHandler.js +51 -41
- package/Source/Core/SimplePolylineGeometry.js +1 -1
- package/Source/Core/TerrainEncoding.js +2 -2
- package/Source/Core/TerrainMesh.js +3 -3
- package/Source/Core/TerrainPicker.js +180 -168
- package/Source/Core/TimeIntervalCollection.js +1 -3
- package/Source/Core/Tipsify.js +1 -1
- package/Source/Core/Transforms.js +5 -1
- package/Source/Core/VectorPipeline.js +1117 -0
- package/Source/Core/VectorProvider.js +429 -0
- package/Source/Core/WallOutlineGeometry.js +1 -1
- package/Source/Core/createColorRamp.js +37 -0
- package/Source/Core/getTimestamp.js +4 -2
- package/Source/Core/globalTypes.js +25 -0
- package/Source/Core/writeTextToCanvas.js +1 -0
- package/Source/DataSources/CompositeEntityCollection.js +0 -1
- package/Source/DataSources/CzmlDataSource.js +14 -0
- package/Source/DataSources/DataSourceDisplay.js +1 -1
- package/Source/DataSources/GeoJsonDataSource.js +0 -1
- package/Source/DataSources/GeometryVisualizer.js +1 -1
- package/Source/DataSources/KmlDataSource.js +529 -557
- package/Source/DataSources/PathGraphics.js +8 -1
- package/Source/DataSources/PathMode.js +27 -0
- package/Source/DataSources/PathVisualizer.js +298 -1
- package/Source/DataSources/PolylineVisualizer.js +1 -1
- package/Source/DataSources/StaticOutlineGeometryBatch.js +1 -1
- package/Source/Renderer/AutomaticUniforms.js +23 -0
- package/Source/Renderer/Context.js +9 -3
- package/Source/Renderer/DrawCommand.js +22 -0
- package/Source/Renderer/Framebuffer.js +4 -0
- package/Source/Renderer/Pass.js +11 -9
- package/Source/Renderer/Texture.js +12 -1
- package/Source/Renderer/UniformState.js +7 -0
- package/Source/Renderer/VertexArray.js +1 -1
- package/Source/Renderer/createUniform.js +346 -239
- package/Source/Renderer/createUniformArray.js +494 -381
- package/Source/Scene/ArcGisMapServerImageryProvider.js +0 -5
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/Billboard.js +2 -1
- package/Source/Scene/BillboardCollection.js +15 -5
- package/Source/Scene/BillboardTexture.js +5 -3
- package/Source/Scene/BufferPointCollection.js +11 -1
- package/Source/Scene/BufferPolygonCollection.js +26 -0
- package/Source/Scene/BufferPolylineCollection.js +2 -0
- package/Source/Scene/BufferPrimitiveCollection.js +105 -32
- package/Source/Scene/Camera.js +85 -9
- package/Source/Scene/CameraEventAggregator.js +30 -18
- package/Source/Scene/CameraFlightPath.js +7 -4
- package/Source/Scene/Cesium3DTile.js +102 -4
- package/Source/Scene/Cesium3DTileContent.js +195 -254
- package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
- package/Source/Scene/Cesium3DTileOptimizations.js +4 -6
- package/Source/Scene/Cesium3DTileStyle.js +40 -0
- package/Source/Scene/Cesium3DTileset.js +213 -8
- package/Source/Scene/Cesium3DTilesetTraversal.js +14 -0
- package/Source/Scene/ClippingPlaneCollection.js +4 -4
- package/Source/Scene/ClippingPolygon.js +2 -0
- package/Source/Scene/ClippingPolygonCollection.js +2 -2
- package/Source/Scene/Composite3DTileContent.js +254 -292
- package/Source/Scene/Controllers/Controller.js +63 -0
- package/Source/Scene/Controllers/ControllerHost.js +78 -0
- package/Source/Scene/Controllers/HybridScreenSpacePanCameraController.js +106 -0
- package/Source/Scene/Controllers/MouseButton.js +32 -0
- package/Source/Scene/Controllers/ScreenSpaceElevatorCameraController.js +295 -0
- package/Source/Scene/Controllers/ScreenSpaceInputBindings.js +154 -0
- package/Source/Scene/Controllers/ScreenSpaceMapCameraController.js +310 -0
- package/Source/Scene/Controllers/ScreenSpaceTiltOrbitCameraController.js +642 -0
- package/Source/Scene/Controllers/ScreenSpaceZoomCameraController.js +431 -0
- package/Source/Scene/Controllers/defaultPickWorldPosition.js +84 -0
- package/Source/Scene/DerivedCommand.js +98 -0
- package/Source/Scene/EdgeDisplayMode.js +50 -0
- package/Source/Scene/EdgeFramebuffer.js +1 -5
- package/Source/Scene/Empty3DTileContent.js +100 -132
- package/Source/Scene/Expression.js +6 -8
- package/Source/Scene/FrameState.js +17 -0
- package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
- package/Source/Scene/GeoJsonPrimitive.js +874 -0
- package/Source/Scene/Geometry3DTileContent.js +151 -185
- package/Source/Scene/Globe.js +22 -1
- package/Source/Scene/GlobeDepth.js +27 -1
- package/Source/Scene/GlobeSurfaceShaderSet.js +637 -540
- package/Source/Scene/GlobeSurfaceTile.js +575 -398
- package/Source/Scene/GlobeSurfaceTileProvider.js +1412 -1184
- package/Source/Scene/GltfBufferViewLoader.js +3 -3
- package/Source/Scene/GltfLoader.js +146 -3
- package/Source/Scene/GltfLoaderUtil.js +20 -4
- package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +10 -0
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +21 -11
- package/Source/Scene/GltfSpzLoader.js +1 -1
- package/Source/Scene/GltfVertexBufferLoader.js +6 -3
- package/Source/Scene/I3SDataProvider.js +1 -1
- package/Source/Scene/I3SLayer.js +1 -1
- package/Source/Scene/I3SNode.js +2 -2
- package/Source/Scene/ImageryLayer.js +2 -2
- package/Source/Scene/ImageryLayerCollection.js +190 -6
- package/Source/Scene/Implicit3DTileContent.js +192 -216
- package/Source/Scene/ImplicitTileCoordinates.js +17 -0
- package/Source/Scene/IonImageryProvider.js +1 -5
- package/Source/Scene/Label.js +4 -4
- package/Source/Scene/LabelCollection.js +4 -1
- package/Source/Scene/MVTDataProvider.js +555 -0
- package/Source/Scene/Material.js +1 -0
- package/Source/Scene/Model/B3dmLoader.js +1 -2
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +82 -312
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +4 -0
- package/Source/Scene/Model/I3dmLoader.js +1 -1
- package/Source/Scene/Model/InstancingPipelineStage.js +4 -7
- package/Source/Scene/Model/MaterialPipelineStage.js +124 -1
- package/Source/Scene/Model/Model.js +45 -10
- package/Source/Scene/Model/Model3DTileContent.js +424 -458
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +28 -1
- package/Source/Scene/Model/ModelDrawCommand.js +180 -8
- package/Source/Scene/Model/ModelDrawCommands.js +4 -0
- package/Source/Scene/Model/ModelSceneGraph.js +21 -0
- package/Source/Scene/Model/ModelUtility.js +5 -0
- package/Source/Scene/Model/PickingPipelineStage.js +29 -0
- package/Source/Scene/Model/PrimitiveRenderResources.js +24 -0
- package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +645 -153
- package/Source/Scene/ModelComponents.js +112 -0
- package/Source/Scene/Multiple3DTileContent.js +291 -334
- package/Source/Scene/MvtLabelCandidates.js +295 -0
- package/Source/Scene/MvtLabelManager.js +1069 -0
- package/Source/Scene/Picking.js +19 -3
- package/Source/Scene/PlanarFillIdFramebuffer.js +172 -0
- package/Source/Scene/PntsParser.js +1 -1
- package/Source/Scene/PolylineCollection.js +5 -3
- package/Source/Scene/PostProcessStage.js +4 -2
- package/Source/Scene/QuadtreePrimitive.js +3 -2
- package/Source/Scene/ResourceCache.js +7 -4
- package/Source/Scene/ResourceCacheKey.js +21 -18
- package/Source/Scene/Scene.js +237 -11
- package/Source/Scene/SceneTransforms.js +6 -5
- package/Source/Scene/ShadowMap.js +9 -3
- package/Source/Scene/ShadowMapShader.js +50 -2
- package/Source/Scene/SnapFramebuffer.js +121 -0
- package/Source/Scene/Snapping.js +184 -0
- package/Source/Scene/TerrainFillMesh.js +3 -2
- package/Source/Scene/Tileset3DTileContent.js +113 -146
- package/Source/Scene/UrlTemplate3DTilesDataProvider.js +543 -0
- package/Source/Scene/Vector3DTileContent.js +207 -237
- package/Source/Scene/VectorGltf3DTileContent.js +185 -45
- package/Source/Scene/View.js +10 -8
- package/Source/Scene/VoxelPrimitive.js +159 -175
- package/Source/Scene/VoxelProvider.js +64 -91
- package/Source/Scene/VoxelTraversal.js +1 -1
- package/Source/Scene/buildVectorGltfFromMVT.js +1208 -0
- package/Source/Scene/buildVoxelCustomShader.js +199 -0
- package/Source/Scene/createElevationBandMaterial.js +1 -1
- package/Source/Scene/decodeMVT.js +877 -0
- package/Source/Scene/findMeshoptExtension.js +23 -0
- package/Source/Scene/renderBufferPointCollection.js +114 -64
- package/Source/Scene/renderBufferPolygonCollection.js +245 -53
- package/Source/Scene/renderBufferPolylineCollection.js +271 -145
- package/Source/Shaders/BillboardCollectionVS.glsl +23 -25
- package/Source/Shaders/BillboardCollectionVS.js +23 -25
- package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
- package/Source/Shaders/BufferPointMaterialFS.js +1 -0
- package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
- package/Source/Shaders/BufferPointMaterialVS.js +20 -10
- package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolygonMaterialFS.js +13 -0
- package/Source/Shaders/BufferPolygonMaterialVS.glsl +22 -4
- package/Source/Shaders/BufferPolygonMaterialVS.js +23 -5
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
- package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTile.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassification.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileClassificationIgnoreShow.js +1 -1
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTilePlanarFillId.js +11 -0
- package/Source/Shaders/Builtin/Constants/passClassification.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passClassification.js +1 -1
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passGaussianSplats.js +1 -1
- package/Source/Shaders/Builtin/Constants/passOpaque.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passOpaque.js +1 -1
- package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
- package/Source/Shaders/Builtin/Constants/passTranslucent.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passTranslucent.js +1 -1
- package/Source/Shaders/Builtin/Constants/passVoxels.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passVoxels.js +1 -1
- package/Source/Shaders/Builtin/CzmBuiltins.js +4 -0
- package/Source/Shaders/GlobeFS.glsl +10 -6
- package/Source/Shaders/GlobeFS.js +10 -6
- package/Source/Shaders/Materials/PolylineGlowMaterial.glsl +1 -1
- package/Source/Shaders/Materials/PolylineGlowMaterial.js +1 -1
- package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
- package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
- package/Source/Shaders/Model/MaterialStageFS.glsl +8 -2
- package/Source/Shaders/Model/MaterialStageFS.js +8 -2
- package/Source/Shaders/Model/ModelFS.glsl +105 -0
- package/Source/Shaders/Model/ModelFS.js +105 -0
- package/Source/Shaders/VectorCommon.glsl +178 -0
- package/Source/Shaders/VectorCommon.js +180 -0
- package/Source/ThirdParty/zip-module.wasm +0 -0
- package/Source/Widget/CesiumWidget.js +30 -0
- package/Source/Workers/createMvtTile.js +39 -0
- package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2
- package/Source/Workers/incrementallyBuildTerrainPicker.js +2 -0
- package/index.js +214 -184
- package/package.json +13 -13
|
@@ -27,219 +27,225 @@ import BoundingVolumeSemantics from "./BoundingVolumeSemantics.js";
|
|
|
27
27
|
* </p>
|
|
28
28
|
* This object is normally not instantiated directly, use {@link Implicit3DTileContent.fromSubtreeJson}.
|
|
29
29
|
*
|
|
30
|
-
* @
|
|
31
|
-
* @constructor
|
|
32
|
-
*
|
|
33
|
-
* @param {Cesium3DTileset} tileset The tileset this content belongs to
|
|
34
|
-
* @param {Cesium3DTile} tile The tile this content belongs to.
|
|
35
|
-
* @param {Resource} resource The resource for the tileset
|
|
36
|
-
* @param {object} [json] The JSON object containing the subtree. Mutually exclusive with arrayBuffer.
|
|
37
|
-
* @param {ArrayBuffer} [arrayBuffer] The array buffer that stores the content payload. Mutually exclusive with json.
|
|
38
|
-
* @param {number} [byteOffset=0] The offset into the array buffer, if one was provided
|
|
39
|
-
*
|
|
40
|
-
* @exception {DeveloperError} One of json and arrayBuffer must be defined.
|
|
41
|
-
*
|
|
30
|
+
* @implements Cesium3DTileContent
|
|
42
31
|
* @private
|
|
43
32
|
* @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.
|
|
44
33
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
34
|
+
class Implicit3DTileContent {
|
|
35
|
+
/**
|
|
36
|
+
* @param {Cesium3DTileset} tileset The tileset this content belongs to
|
|
37
|
+
* @param {Cesium3DTile} tile The tile this content belongs to.
|
|
38
|
+
* @param {Resource} resource The resource for the tileset
|
|
39
|
+
* @param {object} [json] The JSON object containing the subtree. Mutually exclusive with arrayBuffer.
|
|
40
|
+
* @param {ArrayBuffer} [arrayBuffer] The array buffer that stores the content payload. Mutually exclusive with json.
|
|
41
|
+
* @param {number} [byteOffset=0] The offset into the array buffer, if one was provided
|
|
42
|
+
*
|
|
43
|
+
* @exception {DeveloperError} One of json and arrayBuffer must be defined.
|
|
44
|
+
*/
|
|
45
|
+
constructor(tileset, tile, resource) {
|
|
46
|
+
//>>includeStart('debug', pragmas.debug);
|
|
47
|
+
Check.defined("tile.implicitTileset", tile.implicitTileset);
|
|
48
|
+
Check.defined("tile.implicitCoordinates", tile.implicitCoordinates);
|
|
49
|
+
//>>includeEnd('debug');
|
|
50
|
+
|
|
51
|
+
const implicitTileset = tile.implicitTileset;
|
|
52
|
+
const implicitCoordinates = tile.implicitCoordinates;
|
|
53
|
+
|
|
54
|
+
this._implicitTileset = implicitTileset;
|
|
55
|
+
this._implicitCoordinates = implicitCoordinates;
|
|
56
|
+
this._implicitSubtree = undefined;
|
|
57
|
+
this._tileset = tileset;
|
|
58
|
+
this._tile = tile;
|
|
59
|
+
this._resource = resource;
|
|
60
|
+
|
|
61
|
+
this._metadata = undefined;
|
|
62
|
+
|
|
63
|
+
this.featurePropertiesDirty = false;
|
|
64
|
+
this._group = undefined;
|
|
65
|
+
|
|
66
|
+
const templateValues = implicitCoordinates.getTemplateValues();
|
|
67
|
+
const subtreeResource =
|
|
68
|
+
implicitTileset.subtreeUriTemplate.getDerivedResource({
|
|
69
|
+
templateValues: templateValues,
|
|
70
|
+
});
|
|
71
|
+
this._url = subtreeResource.getUrlComponent(true);
|
|
72
|
+
|
|
73
|
+
this._ready = false;
|
|
74
|
+
}
|
|
76
75
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return 0;
|
|
81
|
-
},
|
|
82
|
-
},
|
|
76
|
+
get featuresLength() {
|
|
77
|
+
return 0;
|
|
78
|
+
}
|
|
83
79
|
|
|
84
|
-
pointsLength
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
},
|
|
88
|
-
},
|
|
80
|
+
get pointsLength() {
|
|
81
|
+
return 0;
|
|
82
|
+
}
|
|
89
83
|
|
|
90
|
-
trianglesLength
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
},
|
|
94
|
-
},
|
|
84
|
+
get trianglesLength() {
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
95
87
|
|
|
96
|
-
geometryByteLength
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
},
|
|
100
|
-
},
|
|
88
|
+
get geometryByteLength() {
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
101
91
|
|
|
102
|
-
texturesByteLength
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
},
|
|
92
|
+
get texturesByteLength() {
|
|
93
|
+
return 0;
|
|
94
|
+
}
|
|
107
95
|
|
|
108
|
-
batchTableByteLength
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
},
|
|
112
|
-
},
|
|
96
|
+
get batchTableByteLength() {
|
|
97
|
+
return 0;
|
|
98
|
+
}
|
|
113
99
|
|
|
114
|
-
innerContents
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
},
|
|
118
|
-
},
|
|
100
|
+
get innerContents() {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
119
103
|
|
|
120
104
|
/**
|
|
121
105
|
* Returns true when the tile's content is ready to render; otherwise false
|
|
122
106
|
*
|
|
123
|
-
* @memberof Implicit3DTileContent.prototype
|
|
124
107
|
*
|
|
125
108
|
* @type {boolean}
|
|
126
109
|
* @readonly
|
|
127
110
|
* @private
|
|
128
111
|
*/
|
|
129
|
-
ready
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
},
|
|
133
|
-
},
|
|
112
|
+
get ready() {
|
|
113
|
+
return this._ready;
|
|
114
|
+
}
|
|
134
115
|
|
|
135
|
-
tileset
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
},
|
|
139
|
-
},
|
|
116
|
+
get tileset() {
|
|
117
|
+
return this._tileset;
|
|
118
|
+
}
|
|
140
119
|
|
|
141
|
-
tile
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
},
|
|
145
|
-
},
|
|
120
|
+
get tile() {
|
|
121
|
+
return this._tile;
|
|
122
|
+
}
|
|
146
123
|
|
|
147
|
-
url
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
},
|
|
151
|
-
},
|
|
124
|
+
get url() {
|
|
125
|
+
return this._url;
|
|
126
|
+
}
|
|
152
127
|
|
|
153
128
|
/**
|
|
154
129
|
* Part of the {@link Cesium3DTileContent} interface. <code>Implicit3DTileContent</code>
|
|
155
130
|
* always returns <code>undefined</code>. Only transcoded tiles have content metadata.
|
|
156
|
-
* @memberof Implicit3DTileContent.prototype
|
|
157
131
|
* @private
|
|
158
132
|
*/
|
|
159
|
-
metadata
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
},
|
|
163
|
-
set: function () {
|
|
164
|
-
//>>includeStart('debug', pragmas.debug);
|
|
165
|
-
throw new DeveloperError("Implicit3DTileContent cannot have metadata");
|
|
166
|
-
//>>includeEnd('debug');
|
|
167
|
-
},
|
|
168
|
-
},
|
|
169
|
-
|
|
170
|
-
batchTable: {
|
|
171
|
-
get: function () {
|
|
172
|
-
return undefined;
|
|
173
|
-
},
|
|
174
|
-
},
|
|
133
|
+
get metadata() {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
175
136
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
this._group = value;
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
});
|
|
137
|
+
set metadata(_) {
|
|
138
|
+
//>>includeStart('debug', pragmas.debug);
|
|
139
|
+
throw new DeveloperError("Implicit3DTileContent cannot have metadata");
|
|
140
|
+
//>>includeEnd('debug');
|
|
141
|
+
}
|
|
185
142
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
* up a promise chain to expand the immediate subtree.
|
|
189
|
-
*
|
|
190
|
-
* @param {Cesium3DTileset} tileset The tileset this content belongs to
|
|
191
|
-
* @param {Cesium3DTile} tile The tile this content belongs to.
|
|
192
|
-
* @param {Resource} resource The resource for the tileset
|
|
193
|
-
* @param {object} [json] The JSON containing the subtree. Mutually exclusive with arrayBuffer.
|
|
194
|
-
* @param {ArrayBuffer} [arrayBuffer] The ArrayBuffer containing a subtree binary. Mutually exclusive with json.
|
|
195
|
-
* @param {number} [byteOffset=0] The byte offset into the arrayBuffer
|
|
196
|
-
* @return {Promise<Implicit3DTileContent>}
|
|
197
|
-
*
|
|
198
|
-
* @exception {DeveloperError} One of json and arrayBuffer must be defined.
|
|
199
|
-
*
|
|
200
|
-
* @private
|
|
201
|
-
*/
|
|
202
|
-
Implicit3DTileContent.fromSubtreeJson = async function (
|
|
203
|
-
tileset,
|
|
204
|
-
tile,
|
|
205
|
-
resource,
|
|
206
|
-
json,
|
|
207
|
-
arrayBuffer,
|
|
208
|
-
byteOffset,
|
|
209
|
-
) {
|
|
210
|
-
//>>includeStart('debug', pragmas.debug);
|
|
211
|
-
Check.defined("tile.implicitTileset", tile.implicitTileset);
|
|
212
|
-
Check.defined("tile.implicitCoordinates", tile.implicitCoordinates);
|
|
213
|
-
if (defined(json) === defined(arrayBuffer)) {
|
|
214
|
-
throw new DeveloperError("One of json and arrayBuffer must be defined.");
|
|
143
|
+
get batchTable() {
|
|
144
|
+
return undefined;
|
|
215
145
|
}
|
|
216
|
-
//>>includeEnd('debug');
|
|
217
146
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
if (defined(arrayBuffer)) {
|
|
221
|
-
uint8Array = new Uint8Array(arrayBuffer, byteOffset);
|
|
147
|
+
get group() {
|
|
148
|
+
return this._group;
|
|
222
149
|
}
|
|
223
150
|
|
|
224
|
-
|
|
225
|
-
|
|
151
|
+
set group(value) {
|
|
152
|
+
this._group = value;
|
|
153
|
+
}
|
|
226
154
|
|
|
227
|
-
|
|
155
|
+
/**
|
|
156
|
+
* Initialize the implicit content by parsing the subtree resource and setting
|
|
157
|
+
* up a promise chain to expand the immediate subtree.
|
|
158
|
+
*
|
|
159
|
+
* @param {Cesium3DTileset} tileset The tileset this content belongs to
|
|
160
|
+
* @param {Cesium3DTile} tile The tile this content belongs to.
|
|
161
|
+
* @param {Resource} resource The resource for the tileset
|
|
162
|
+
* @param {object} [json] The JSON containing the subtree. Mutually exclusive with arrayBuffer.
|
|
163
|
+
* @param {ArrayBuffer} [arrayBuffer] The ArrayBuffer containing a subtree binary. Mutually exclusive with json.
|
|
164
|
+
* @param {number} [byteOffset=0] The byte offset into the arrayBuffer
|
|
165
|
+
* @return {Promise<Implicit3DTileContent>}
|
|
166
|
+
*
|
|
167
|
+
* @exception {DeveloperError} One of json and arrayBuffer must be defined.
|
|
168
|
+
*
|
|
169
|
+
* @private
|
|
170
|
+
*/
|
|
171
|
+
static async fromSubtreeJson(
|
|
172
|
+
tileset,
|
|
173
|
+
tile,
|
|
228
174
|
resource,
|
|
229
175
|
json,
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
176
|
+
arrayBuffer,
|
|
177
|
+
byteOffset,
|
|
178
|
+
) {
|
|
179
|
+
//>>includeStart('debug', pragmas.debug);
|
|
180
|
+
Check.defined("tile.implicitTileset", tile.implicitTileset);
|
|
181
|
+
Check.defined("tile.implicitCoordinates", tile.implicitCoordinates);
|
|
182
|
+
if (defined(json) === defined(arrayBuffer)) {
|
|
183
|
+
throw new DeveloperError("One of json and arrayBuffer must be defined.");
|
|
184
|
+
}
|
|
185
|
+
//>>includeEnd('debug');
|
|
234
186
|
|
|
235
|
-
|
|
187
|
+
byteOffset = byteOffset ?? 0;
|
|
188
|
+
let uint8Array;
|
|
189
|
+
if (defined(arrayBuffer)) {
|
|
190
|
+
uint8Array = new Uint8Array(arrayBuffer, byteOffset);
|
|
191
|
+
}
|
|
236
192
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
content._ready = true;
|
|
193
|
+
const implicitTileset = tile.implicitTileset;
|
|
194
|
+
const implicitCoordinates = tile.implicitCoordinates;
|
|
240
195
|
|
|
241
|
-
|
|
242
|
-
|
|
196
|
+
const subtree = await ImplicitSubtree.fromSubtreeJson(
|
|
197
|
+
resource,
|
|
198
|
+
json,
|
|
199
|
+
uint8Array,
|
|
200
|
+
implicitTileset,
|
|
201
|
+
implicitCoordinates,
|
|
202
|
+
);
|
|
203
|
+
|
|
204
|
+
const content = new Implicit3DTileContent(tileset, tile, resource);
|
|
205
|
+
|
|
206
|
+
content._implicitSubtree = subtree;
|
|
207
|
+
expandSubtree(content, subtree);
|
|
208
|
+
content._ready = true;
|
|
209
|
+
|
|
210
|
+
return content;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Part of the {@link Cesium3DTileContent} interface. <code>Implicit3DTileContent</code>
|
|
215
|
+
* always returns <code>false</code> since a tile of this type does not have any features.
|
|
216
|
+
* @private
|
|
217
|
+
*/
|
|
218
|
+
hasProperty(batchId, name) {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Part of the {@link Cesium3DTileContent} interface. <code>Implicit3DTileContent</code>
|
|
224
|
+
* always returns <code>undefined</code> since a tile of this type does not have any features.
|
|
225
|
+
* @private
|
|
226
|
+
*/
|
|
227
|
+
getFeature(batchId) {
|
|
228
|
+
return undefined;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
applyDebugSettings(enabled, color) {}
|
|
232
|
+
applyStyle(style) {}
|
|
233
|
+
update(tileset, frameState) {}
|
|
234
|
+
|
|
235
|
+
pick(ray, frameState, result) {
|
|
236
|
+
return undefined;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
isDestroyed() {
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
destroy() {
|
|
244
|
+
this._implicitSubtree =
|
|
245
|
+
this._implicitSubtree && this._implicitSubtree.destroy();
|
|
246
|
+
return destroyObject(this);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
243
249
|
|
|
244
250
|
/**
|
|
245
251
|
* Expand a single subtree placeholder tile. This transcodes the subtree into
|
|
@@ -304,7 +310,14 @@ function expandSubtree(content, subtree) {
|
|
|
304
310
|
*/
|
|
305
311
|
function listChildSubtrees(content, subtree, bottomRow) {
|
|
306
312
|
const results = [];
|
|
307
|
-
const
|
|
313
|
+
const implicitTileset = content._implicitTileset;
|
|
314
|
+
const nextSubtreeLevel =
|
|
315
|
+
content._implicitCoordinates.level + implicitTileset.subtreeLevels;
|
|
316
|
+
if (nextSubtreeLevel >= implicitTileset.availableLevels) {
|
|
317
|
+
return results;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
const branchingFactor = implicitTileset.branchingFactor;
|
|
308
321
|
for (let i = 0; i < bottomRow.length; i++) {
|
|
309
322
|
const leafTile = bottomRow[i];
|
|
310
323
|
if (!defined(leafTile)) {
|
|
@@ -367,7 +380,11 @@ function transcodeSubtreeTiles(content, subtree, placeholderTile, childIndex) {
|
|
|
367
380
|
let currentRow = [];
|
|
368
381
|
|
|
369
382
|
const implicitTileset = content._implicitTileset;
|
|
370
|
-
|
|
383
|
+
const availableSubtreeLevels = Math.min(
|
|
384
|
+
implicitTileset.subtreeLevels,
|
|
385
|
+
implicitTileset.availableLevels - content._implicitCoordinates.level,
|
|
386
|
+
);
|
|
387
|
+
for (let level = 1; level < availableSubtreeLevels; level++) {
|
|
371
388
|
const levelOffset = subtree.getLevelOffset(level);
|
|
372
389
|
const numberOfChildren = implicitTileset.branchingFactor * parentRow.length;
|
|
373
390
|
for (
|
|
@@ -1157,47 +1174,6 @@ function makeTile(content, baseResource, tileJson, parentTile) {
|
|
|
1157
1174
|
return new Cesium3DTile(content._tileset, baseResource, tileJson, parentTile);
|
|
1158
1175
|
}
|
|
1159
1176
|
|
|
1160
|
-
/**
|
|
1161
|
-
* Part of the {@link Cesium3DTileContent} interface. <code>Implicit3DTileContent</code>
|
|
1162
|
-
* always returns <code>false</code> since a tile of this type does not have any features.
|
|
1163
|
-
* @private
|
|
1164
|
-
*/
|
|
1165
|
-
Implicit3DTileContent.prototype.hasProperty = function (batchId, name) {
|
|
1166
|
-
return false;
|
|
1167
|
-
};
|
|
1168
|
-
|
|
1169
|
-
/**
|
|
1170
|
-
* Part of the {@link Cesium3DTileContent} interface. <code>Implicit3DTileContent</code>
|
|
1171
|
-
* always returns <code>undefined</code> since a tile of this type does not have any features.
|
|
1172
|
-
* @private
|
|
1173
|
-
*/
|
|
1174
|
-
Implicit3DTileContent.prototype.getFeature = function (batchId) {
|
|
1175
|
-
return undefined;
|
|
1176
|
-
};
|
|
1177
|
-
|
|
1178
|
-
Implicit3DTileContent.prototype.applyDebugSettings = function (
|
|
1179
|
-
enabled,
|
|
1180
|
-
color,
|
|
1181
|
-
) {};
|
|
1182
|
-
|
|
1183
|
-
Implicit3DTileContent.prototype.applyStyle = function (style) {};
|
|
1184
|
-
|
|
1185
|
-
Implicit3DTileContent.prototype.update = function (tileset, frameState) {};
|
|
1186
|
-
|
|
1187
|
-
Implicit3DTileContent.prototype.pick = function (ray, frameState, result) {
|
|
1188
|
-
return undefined;
|
|
1189
|
-
};
|
|
1190
|
-
|
|
1191
|
-
Implicit3DTileContent.prototype.isDestroyed = function () {
|
|
1192
|
-
return false;
|
|
1193
|
-
};
|
|
1194
|
-
|
|
1195
|
-
Implicit3DTileContent.prototype.destroy = function () {
|
|
1196
|
-
this._implicitSubtree =
|
|
1197
|
-
this._implicitSubtree && this._implicitSubtree.destroy();
|
|
1198
|
-
return destroyObject(this);
|
|
1199
|
-
};
|
|
1200
|
-
|
|
1201
1177
|
// Exposed for testing
|
|
1202
1178
|
Implicit3DTileContent._deriveBoundingBox = deriveBoundingBox;
|
|
1203
1179
|
Implicit3DTileContent._deriveBoundingRegion = deriveBoundingRegion;
|
|
@@ -4,6 +4,8 @@ import DeveloperError from "../Core/DeveloperError.js";
|
|
|
4
4
|
import MortonOrder from "../Core/MortonOrder.js";
|
|
5
5
|
import ImplicitSubdivisionScheme from "./ImplicitSubdivisionScheme.js";
|
|
6
6
|
|
|
7
|
+
const webMercatorMaximumLatitude = Math.atan(Math.sinh(Math.PI));
|
|
8
|
+
|
|
7
9
|
/**
|
|
8
10
|
* The coordinates for a tile in an implicit tileset. The coordinates
|
|
9
11
|
* are (level, x, y) for quadtrees or (level, x, y, z) for octrees.
|
|
@@ -540,6 +542,7 @@ ImplicitTileCoordinates.prototype.getTemplateValues = function () {
|
|
|
540
542
|
level: this.level,
|
|
541
543
|
x: this.x,
|
|
542
544
|
y: this.y,
|
|
545
|
+
webMercatorY: getWebMercatorY(this.level, this.y),
|
|
543
546
|
};
|
|
544
547
|
if (this.subdivisionScheme === ImplicitSubdivisionScheme.OCTREE) {
|
|
545
548
|
values.z = this.z;
|
|
@@ -548,6 +551,20 @@ ImplicitTileCoordinates.prototype.getTemplateValues = function () {
|
|
|
548
551
|
return values;
|
|
549
552
|
};
|
|
550
553
|
|
|
554
|
+
/** @param {number} level @param {number} implicitY */
|
|
555
|
+
function getWebMercatorY(level, implicitY) {
|
|
556
|
+
const dimension = Math.pow(2, level);
|
|
557
|
+
const latitude =
|
|
558
|
+
-webMercatorMaximumLatitude +
|
|
559
|
+
(2.0 * webMercatorMaximumLatitude * (implicitY + 0.5)) / dimension;
|
|
560
|
+
const normalizedY = (1.0 - Math.asinh(Math.tan(latitude)) / Math.PI) * 0.5;
|
|
561
|
+
return CesiumMath.clamp(
|
|
562
|
+
Math.floor(normalizedY * dimension),
|
|
563
|
+
0,
|
|
564
|
+
dimension - 1,
|
|
565
|
+
);
|
|
566
|
+
}
|
|
567
|
+
|
|
551
568
|
const scratchCoordinatesArray = [0, 0, 0];
|
|
552
569
|
|
|
553
570
|
/**
|
|
@@ -26,17 +26,13 @@ import IonImageryProviderFactory from "./IonImageryProviderFactory.js";
|
|
|
26
26
|
* @alias IonImageryProvider
|
|
27
27
|
* @constructor
|
|
28
28
|
*
|
|
29
|
-
* @param {IonImageryProvider.ConstructorOptions} [options] Object describing initialization options
|
|
30
|
-
*
|
|
31
29
|
* @example
|
|
32
30
|
* const imageryLayer = Cesium.ImageryLayer.fromProviderAsync(Cesium.IonImageryProvider.fromAssetId(3812));
|
|
33
31
|
* viewer.imageryLayers.add(imageryLayer);
|
|
34
32
|
*
|
|
35
33
|
* @see IonImageryProvider.fromAssetId
|
|
36
34
|
*/
|
|
37
|
-
function IonImageryProvider(
|
|
38
|
-
options = options ?? Frozen.EMPTY_OBJECT;
|
|
39
|
-
|
|
35
|
+
function IonImageryProvider() {
|
|
40
36
|
this._defaultAlpha = undefined;
|
|
41
37
|
this._defaultNightAlpha = undefined;
|
|
42
38
|
this._defaultDayAlpha = undefined;
|
package/Source/Scene/Label.js
CHANGED
|
@@ -1282,10 +1282,10 @@ Label.getScreenSpaceBoundingBox = function (
|
|
|
1282
1282
|
screenSpacePosition,
|
|
1283
1283
|
result,
|
|
1284
1284
|
) {
|
|
1285
|
-
let x
|
|
1286
|
-
let y
|
|
1287
|
-
let width
|
|
1288
|
-
let height
|
|
1285
|
+
let x;
|
|
1286
|
+
let y;
|
|
1287
|
+
let width;
|
|
1288
|
+
let height;
|
|
1289
1289
|
const scale = label.totalScale;
|
|
1290
1290
|
|
|
1291
1291
|
const backgroundBillboard = label._backgroundBillboard;
|
|
@@ -335,7 +335,7 @@ function updateBackgroundBillboard(
|
|
|
335
335
|
// Label is shown and background is hidden - remove the background billboard
|
|
336
336
|
if (label.show && !showBackground) {
|
|
337
337
|
backgroundBillboardCollection.remove(backgroundBillboard);
|
|
338
|
-
label._backgroundBillboard =
|
|
338
|
+
label._backgroundBillboard = undefined;
|
|
339
339
|
return;
|
|
340
340
|
}
|
|
341
341
|
|
|
@@ -597,6 +597,7 @@ function destroyLabel(labelCollection, label) {
|
|
|
597
597
|
* @param {boolean} [options.show=true] Determines if the labels in the collection will be shown.
|
|
598
598
|
* @param {number} [options.coarseDepthTestDistance] The distance from the camera, beyond which, labels are depth-tested against an approximation of the globe ellipsoid rather than against the full globe depth buffer. If unspecified, the default value is determined relative to the value of {@link Ellipsoid.default}.
|
|
599
599
|
* @param {number} [options.threePointDepthTestDistance] The distance from the camera, within which, lables with a {@link Label#heightReference} value of {@link HeightReference.CLAMP_TO_GROUND} or {@link HeightReference.CLAMP_TO_TERRAIN} are depth tested against three key points. This ensures that if any key point of the label is visible, the whole label will be visible. If unspecified, the default value is determined relative to the value of {@link Ellipsoid.default}.
|
|
600
|
+
* @param {boolean} [options.alwaysThreePointDepthTest=false] Enables the three-point depth test even when {@link Globe#depthTestAgainstTerrain} is false.
|
|
600
601
|
* @performance For best performance, prefer a few collections, each with many labels, to
|
|
601
602
|
* many collections with only a few labels each. Avoid having collections where some
|
|
602
603
|
* labels change every frame and others do not; instead, create one or more collections
|
|
@@ -634,6 +635,7 @@ function LabelCollection(options) {
|
|
|
634
635
|
}),
|
|
635
636
|
coarseDepthTestDistance: options.coarseDepthTestDistance,
|
|
636
637
|
threePointDepthTestDistance: options.threePointDepthTestDistance,
|
|
638
|
+
alwaysThreePointDepthTest: options.alwaysThreePointDepthTest,
|
|
637
639
|
});
|
|
638
640
|
this._backgroundBillboardCollection = backgroundBillboardCollection;
|
|
639
641
|
this._backgroundBillboardTexture = new BillboardTexture(
|
|
@@ -645,6 +647,7 @@ function LabelCollection(options) {
|
|
|
645
647
|
batchTable: this._batchTable,
|
|
646
648
|
coarseDepthTestDistance: options.coarseDepthTestDistance,
|
|
647
649
|
threePointDepthTestDistance: options.threePointDepthTestDistance,
|
|
650
|
+
alwaysThreePointDepthTest: options.alwaysThreePointDepthTest,
|
|
648
651
|
});
|
|
649
652
|
this._glyphBillboardCollection._sdf = true;
|
|
650
653
|
|