@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
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
//This file is automatically rebuilt by the Cesium build process.
|
|
2
|
+
export default "uniform highp sampler2D u_vectorSegmentTexture;\n\
|
|
3
|
+
uniform highp sampler2D u_vectorWidthTexture;\n\
|
|
4
|
+
uniform highp sampler2D u_vectorColorTexture;\n\
|
|
5
|
+
uniform highp sampler2D u_vectorSegmentPrimitiveIndicesTexture;\n\
|
|
6
|
+
uniform highp sampler2D u_vectorGridCellIndicesTexture;\n\
|
|
7
|
+
uniform highp sampler2D u_vectorPolygonEdgeTexture;\n\
|
|
8
|
+
uniform highp sampler2D u_vectorPolygonEdgePrimitiveIndicesTexture;\n\
|
|
9
|
+
uniform highp sampler2D u_vectorPolygonGridCellIndicesTexture;\n\
|
|
10
|
+
\n\
|
|
11
|
+
// UV-space offset from the closest point on the segment to p.\n\
|
|
12
|
+
vec2 vectorOffsetToLine(vec2 p, vec4 line)\n\
|
|
13
|
+
{\n\
|
|
14
|
+
vec2 a = line.xy;\n\
|
|
15
|
+
vec2 b = line.zw;\n\
|
|
16
|
+
vec2 ab = b - a;\n\
|
|
17
|
+
float abLengthSquared = dot(ab, ab);\n\
|
|
18
|
+
if (abLengthSquared < 1.0e-8)\n\
|
|
19
|
+
{\n\
|
|
20
|
+
return p - a;\n\
|
|
21
|
+
}\n\
|
|
22
|
+
float t = clamp(dot(p - a, ab) / abLengthSquared, 0.0, 1.0);\n\
|
|
23
|
+
return p - (a + t * ab);\n\
|
|
24
|
+
}\n\
|
|
25
|
+
\n\
|
|
26
|
+
ivec2 vectorIndexToUv(int index, ivec2 size)\n\
|
|
27
|
+
{\n\
|
|
28
|
+
int v = index / size.x;\n\
|
|
29
|
+
int u = index - v * size.x;\n\
|
|
30
|
+
return ivec2(u, v);\n\
|
|
31
|
+
}\n\
|
|
32
|
+
\n\
|
|
33
|
+
// Drape clamped vector polylines onto the terrain surface. The fragment's\n\
|
|
34
|
+
// tile UV picks a grid cell, then only that cell's line segments (packed in\n\
|
|
35
|
+
// tile-local UV space) are tested for proximity. Within the line width, the\n\
|
|
36
|
+
// vector color is alpha-composited over the terrain (no discard).\n\
|
|
37
|
+
vec4 vectorPolylineRender(vec2 vectorUv, vec4 baseColor)\n\
|
|
38
|
+
{\n\
|
|
39
|
+
// A tile without polylines binds a 1x1 placeholder; a real grid header\n\
|
|
40
|
+
// [gridWidth, gridHeight, ...] is at least 3 texels.\n\
|
|
41
|
+
ivec2 headerSize = textureSize(u_vectorGridCellIndicesTexture, 0);\n\
|
|
42
|
+
if (headerSize.x * headerSize.y < 3)\n\
|
|
43
|
+
{\n\
|
|
44
|
+
return baseColor;\n\
|
|
45
|
+
}\n\
|
|
46
|
+
\n\
|
|
47
|
+
// Inverse UV-per-pixel Jacobian: measures line distance in screen pixels so\n\
|
|
48
|
+
// width stays constant under anisotropic (oblique) foreshortening.\n\
|
|
49
|
+
mat2 screenFromUv = inverse(mat2(dFdx(vectorUv), dFdy(vectorUv)));\n\
|
|
50
|
+
int gridWidth = int(texelFetch(u_vectorGridCellIndicesTexture, vectorIndexToUv(0, headerSize), 0).r);\n\
|
|
51
|
+
int gridHeight = int(texelFetch(u_vectorGridCellIndicesTexture, vectorIndexToUv(1, headerSize), 0).r);\n\
|
|
52
|
+
int cellX = clamp(int(vectorUv.x * float(gridWidth)), 0, gridWidth - 1);\n\
|
|
53
|
+
int cellY = clamp(int(vectorUv.y * float(gridHeight)), 0, gridHeight - 1);\n\
|
|
54
|
+
int cellIndex = cellX + cellY * gridWidth;\n\
|
|
55
|
+
\n\
|
|
56
|
+
// Cell end offsets follow the two gridWidth/gridHeight texels, so cell\n\
|
|
57
|
+
// N's end is at texel N + 2. A cell's start is the previous cell's end\n\
|
|
58
|
+
// (texel N + 1); cell 0's start is implicitly 0.\n\
|
|
59
|
+
int indexEnd = int(texelFetch(u_vectorGridCellIndicesTexture, vectorIndexToUv(cellIndex + 2, headerSize), 0).r);\n\
|
|
60
|
+
int indexStart = cellIndex == 0\n\
|
|
61
|
+
? 0\n\
|
|
62
|
+
: int(texelFetch(u_vectorGridCellIndicesTexture, vectorIndexToUv(cellIndex + 1, headerSize), 0).r);\n\
|
|
63
|
+
\n\
|
|
64
|
+
ivec2 segmentTextureSize = textureSize(u_vectorSegmentTexture, 0);\n\
|
|
65
|
+
ivec2 primitiveTextureSize = textureSize(u_vectorWidthTexture, 0);\n\
|
|
66
|
+
\n\
|
|
67
|
+
for (int i = indexStart; i < indexEnd; i++)\n\
|
|
68
|
+
{\n\
|
|
69
|
+
ivec2 segmentUv = vectorIndexToUv(i, segmentTextureSize);\n\
|
|
70
|
+
vec4 segment = texelFetch(u_vectorSegmentTexture, segmentUv, 0);\n\
|
|
71
|
+
\n\
|
|
72
|
+
int primitiveIndex = int(texelFetch(u_vectorSegmentPrimitiveIndicesTexture, segmentUv, 0).r);\n\
|
|
73
|
+
ivec2 primitiveUv = vectorIndexToUv(primitiveIndex, primitiveTextureSize);\n\
|
|
74
|
+
\n\
|
|
75
|
+
float lineWidth = texelFetch(u_vectorWidthTexture, primitiveUv, 0).r * 255.0;\n\
|
|
76
|
+
\n\
|
|
77
|
+
vec2 offsetUv = vectorOffsetToLine(vectorUv, segment);\n\
|
|
78
|
+
if (length(screenFromUv * offsetUv) < lineWidth)\n\
|
|
79
|
+
{\n\
|
|
80
|
+
// Alpha-composite vector over terrain.\n\
|
|
81
|
+
vec4 vectorColor = texelFetch(u_vectorColorTexture, primitiveUv, 0);\n\
|
|
82
|
+
baseColor = vectorColor * vec4(vectorColor.aaa, 1.0) + baseColor * (1.0 - vectorColor.a);\n\
|
|
83
|
+
break;\n\
|
|
84
|
+
}\n\
|
|
85
|
+
}\n\
|
|
86
|
+
\n\
|
|
87
|
+
return baseColor;\n\
|
|
88
|
+
}\n\
|
|
89
|
+
\n\
|
|
90
|
+
// Composites a polygon's fill over baseColor when the pixel is inside it. A\n\
|
|
91
|
+
// negative index (empty cell or first iteration) or an outside pixel is a\n\
|
|
92
|
+
// no-op.\n\
|
|
93
|
+
vec4 vectorCompositePolygonFill(vec4 baseColor, int primitiveIndex, bool inside, ivec2 primitiveTextureSize)\n\
|
|
94
|
+
{\n\
|
|
95
|
+
if (!inside || primitiveIndex < 0)\n\
|
|
96
|
+
{\n\
|
|
97
|
+
return baseColor;\n\
|
|
98
|
+
}\n\
|
|
99
|
+
\n\
|
|
100
|
+
ivec2 primitiveUv = vectorIndexToUv(primitiveIndex, primitiveTextureSize);\n\
|
|
101
|
+
vec4 fillColor = texelFetch(u_vectorColorTexture, primitiveUv, 0);\n\
|
|
102
|
+
return fillColor * vec4(fillColor.aaa, 1.0) + baseColor * (1.0 - fillColor.a);\n\
|
|
103
|
+
}\n\
|
|
104
|
+
\n\
|
|
105
|
+
// True if a horizontal +x ray from p crosses the edge. The half-open interval\n\
|
|
106
|
+
// (> vs <=) counts a ray through a shared vertex exactly once.\n\
|
|
107
|
+
bool vectorEdgeCrossesRay(vec4 edge, vec2 p)\n\
|
|
108
|
+
{\n\
|
|
109
|
+
if ((edge.y > p.y) == (edge.w > p.y))\n\
|
|
110
|
+
{\n\
|
|
111
|
+
return false;\n\
|
|
112
|
+
}\n\
|
|
113
|
+
\n\
|
|
114
|
+
float t = (p.y - edge.y) / (edge.w - edge.y);\n\
|
|
115
|
+
float xIntersect = edge.x + t * (edge.z - edge.x);\n\
|
|
116
|
+
return p.x < xIntersect;\n\
|
|
117
|
+
}\n\
|
|
118
|
+
\n\
|
|
119
|
+
// Drape clamped vector polygon fills onto the terrain surface. The fragment's\n\
|
|
120
|
+
// tile UV picks a grid cell whose edges were clipped to the cell on the CPU,\n\
|
|
121
|
+
// forming closed loops, so an even-odd horizontal ray cast within the cell\n\
|
|
122
|
+
// decides coverage. Edges arrive grouped by primitive; each covering\n\
|
|
123
|
+
// primitive's fill color is alpha-composited in primitive order (no discard).\n\
|
|
124
|
+
vec4 vectorPolygonRender(vec2 vectorUv, vec4 baseColor)\n\
|
|
125
|
+
{\n\
|
|
126
|
+
// A tile without polygons binds a 1x1 placeholder; a real grid header\n\
|
|
127
|
+
// [gridWidth, gridHeight, ...] is at least 3 texels.\n\
|
|
128
|
+
ivec2 headerSize = textureSize(u_vectorPolygonGridCellIndicesTexture, 0);\n\
|
|
129
|
+
if (headerSize.x * headerSize.y < 3)\n\
|
|
130
|
+
{\n\
|
|
131
|
+
return baseColor;\n\
|
|
132
|
+
}\n\
|
|
133
|
+
\n\
|
|
134
|
+
int gridWidth = int(texelFetch(u_vectorPolygonGridCellIndicesTexture, vectorIndexToUv(0, headerSize), 0).r);\n\
|
|
135
|
+
int gridHeight = int(texelFetch(u_vectorPolygonGridCellIndicesTexture, vectorIndexToUv(1, headerSize), 0).r);\n\
|
|
136
|
+
int cellX = clamp(int(vectorUv.x * float(gridWidth)), 0, gridWidth - 1);\n\
|
|
137
|
+
int cellY = clamp(int(vectorUv.y * float(gridHeight)), 0, gridHeight - 1);\n\
|
|
138
|
+
int cellIndex = cellX + cellY * gridWidth;\n\
|
|
139
|
+
\n\
|
|
140
|
+
// Cell end offsets follow the two gridWidth/gridHeight texels, so cell\n\
|
|
141
|
+
// N's end is at texel N + 2. A cell's start is the previous cell's end\n\
|
|
142
|
+
// (texel N + 1); cell 0's start is implicitly 0.\n\
|
|
143
|
+
int indexEnd = int(texelFetch(u_vectorPolygonGridCellIndicesTexture, vectorIndexToUv(cellIndex + 2, headerSize), 0).r);\n\
|
|
144
|
+
int indexStart = cellIndex == 0\n\
|
|
145
|
+
? 0\n\
|
|
146
|
+
: int(texelFetch(u_vectorPolygonGridCellIndicesTexture, vectorIndexToUv(cellIndex + 1, headerSize), 0).r);\n\
|
|
147
|
+
\n\
|
|
148
|
+
ivec2 edgeTextureSize = textureSize(u_vectorPolygonEdgeTexture, 0);\n\
|
|
149
|
+
ivec2 primitiveTextureSize = textureSize(u_vectorColorTexture, 0);\n\
|
|
150
|
+
\n\
|
|
151
|
+
int currentPrimitive = -1;\n\
|
|
152
|
+
bool inside = false;\n\
|
|
153
|
+
\n\
|
|
154
|
+
for (int i = indexStart; i < indexEnd; i++)\n\
|
|
155
|
+
{\n\
|
|
156
|
+
ivec2 edgeUv = vectorIndexToUv(i, edgeTextureSize);\n\
|
|
157
|
+
vec4 edge = texelFetch(u_vectorPolygonEdgeTexture, edgeUv, 0);\n\
|
|
158
|
+
int primitiveIndex = int(texelFetch(u_vectorPolygonEdgePrimitiveIndicesTexture, edgeUv, 0).r);\n\
|
|
159
|
+
\n\
|
|
160
|
+
// A new primitive means the previous group is complete: composite it,\n\
|
|
161
|
+
// then start counting the new one fresh.\n\
|
|
162
|
+
if (primitiveIndex != currentPrimitive)\n\
|
|
163
|
+
{\n\
|
|
164
|
+
baseColor = vectorCompositePolygonFill(baseColor, currentPrimitive, inside, primitiveTextureSize);\n\
|
|
165
|
+
currentPrimitive = primitiveIndex;\n\
|
|
166
|
+
inside = false;\n\
|
|
167
|
+
}\n\
|
|
168
|
+
\n\
|
|
169
|
+
if (vectorEdgeCrossesRay(edge, vectorUv))\n\
|
|
170
|
+
{\n\
|
|
171
|
+
inside = !inside;\n\
|
|
172
|
+
}\n\
|
|
173
|
+
}\n\
|
|
174
|
+
\n\
|
|
175
|
+
// The last primitive group has no trailing edge to trigger its composite.\n\
|
|
176
|
+
baseColor = vectorCompositePolygonFill(baseColor, currentPrimitive, inside, primitiveTextureSize);\n\
|
|
177
|
+
\n\
|
|
178
|
+
return baseColor;\n\
|
|
179
|
+
}\n\
|
|
180
|
+
";
|
|
File without changes
|
|
@@ -1227,6 +1227,36 @@ CesiumWidget.prototype._onDataSourceRemoved = function (
|
|
|
1227
1227
|
}
|
|
1228
1228
|
};
|
|
1229
1229
|
|
|
1230
|
+
/**
|
|
1231
|
+
* Adds a controller— an implementation of the {@link Controller} interface used to handle input events, camera animations, and other interactions— to the widget's scene.
|
|
1232
|
+
* @param {Controller} controller An implementation of the <code>Controller</code> interface.
|
|
1233
|
+
* @example
|
|
1234
|
+
* widget.scene.screenSpaceCameraController.enableInputs = false;
|
|
1235
|
+
* widget.scene.screenSpaceCameraController.enableCollisionDetection = false;
|
|
1236
|
+
*
|
|
1237
|
+
* const tiltOrbitController = new Cesium.ScreenSpaceTiltOrbitCameraController();
|
|
1238
|
+
* widget.addController(tiltOrbitController);
|
|
1239
|
+
*/
|
|
1240
|
+
CesiumWidget.prototype.addController = function (controller) {
|
|
1241
|
+
return this.scene.controllerHost.registerController(
|
|
1242
|
+
controller,
|
|
1243
|
+
this.container,
|
|
1244
|
+
);
|
|
1245
|
+
};
|
|
1246
|
+
|
|
1247
|
+
/**
|
|
1248
|
+
* Removes a controller— an implementation of the {@link Controller} interface used to handle input events, camera animations, and other interactions— from the widget's scene.
|
|
1249
|
+
* @param {Controller} controller An implementation of the <code>Controller</code> interface.
|
|
1250
|
+
* @example
|
|
1251
|
+
* widget.removeController(tiltOrbitController);
|
|
1252
|
+
*/
|
|
1253
|
+
CesiumWidget.prototype.removeController = function (controller) {
|
|
1254
|
+
return this.scene.controllerHost.unregisterController(
|
|
1255
|
+
controller,
|
|
1256
|
+
this.container,
|
|
1257
|
+
);
|
|
1258
|
+
};
|
|
1259
|
+
|
|
1230
1260
|
/**
|
|
1231
1261
|
* Asynchronously sets the camera to view the provided entity, entities, or data source.
|
|
1232
1262
|
* If the data source is still in the process of loading or the visualization is otherwise still loading,
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import buildVectorGltfFromMVT from "../Scene/buildVectorGltfFromMVT.js";
|
|
2
|
+
import decodeMVT from "../Scene/decodeMVT.js";
|
|
3
|
+
import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
|
|
4
|
+
|
|
5
|
+
function hasRenderableFeatures(decodedTile) {
|
|
6
|
+
for (const layer of decodedTile.layers) {
|
|
7
|
+
for (const feature of layer.features) {
|
|
8
|
+
if (
|
|
9
|
+
(feature.type === "Point" ||
|
|
10
|
+
feature.type === "LineString" ||
|
|
11
|
+
feature.type === "Polygon") &&
|
|
12
|
+
feature.geometry.length > 0
|
|
13
|
+
) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function createMvtTile(parameters, transferableObjects) {
|
|
22
|
+
const decodedTile = decodeMVT(parameters.arrayBuffer, parameters.format);
|
|
23
|
+
const glb =
|
|
24
|
+
parameters.buildGeometry !== false
|
|
25
|
+
? buildVectorGltfFromMVT(decodedTile, parameters.tileCoordinates, {
|
|
26
|
+
featureIdProperty: parameters.featureIdProperty,
|
|
27
|
+
})
|
|
28
|
+
: undefined;
|
|
29
|
+
if (glb !== undefined) {
|
|
30
|
+
transferableObjects.push(glb.buffer);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
glb: glb?.buffer,
|
|
34
|
+
hasFeatures: hasRenderableFeatures(decodedTile),
|
|
35
|
+
decodedTile: parameters.includeDecodedTile ? decodedTile : undefined,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default createTaskProcessorWorker(createMvtTile);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import decodeGoogleEarthEnterpriseData from "../Core/decodeGoogleEarthEnterpriseData.js";
|
|
2
2
|
import GoogleEarthEnterpriseTileInformation from "../Core/GoogleEarthEnterpriseTileInformation.js";
|
|
3
3
|
import RuntimeError from "../Core/RuntimeError.js";
|
|
4
|
-
import
|
|
4
|
+
import { inflate } from "pako/browser/inflate";
|
|
5
5
|
import createTaskProcessorWorker from "./createTaskProcessorWorker.js";
|
|
6
6
|
|
|
7
7
|
// Datatype sizes
|
|
@@ -257,7 +257,7 @@ function uncompressPacket(data) {
|
|
|
257
257
|
offset += sizeOfUint32;
|
|
258
258
|
|
|
259
259
|
const compressedPacket = new Uint8Array(data, offset);
|
|
260
|
-
const uncompressedPacket =
|
|
260
|
+
const uncompressedPacket = inflate(compressedPacket);
|
|
261
261
|
|
|
262
262
|
if (uncompressedPacket.length !== size) {
|
|
263
263
|
throw new RuntimeError("Size of packet doesn't match header");
|
|
@@ -23,6 +23,7 @@ const TILE_AABB_MIN = new Cartesian3(-0.5, -0.5, -0.5);
|
|
|
23
23
|
* to convert triangle positions to the tree's local space, and the parent node's triangle indices and positions.
|
|
24
24
|
*
|
|
25
25
|
* Returns an four arrays - one for each child node - containing the indices of the triangles that intersect each node.
|
|
26
|
+
* @ignore
|
|
26
27
|
*/
|
|
27
28
|
function incrementallyBuildTerrainPicker(parameters, transferableObjects) {
|
|
28
29
|
// Rehydrate worker inputs
|
|
@@ -87,6 +88,7 @@ function incrementallyBuildTerrainPicker(parameters, transferableObjects) {
|
|
|
87
88
|
* @param {Matrix4} inverseTransform transform from world space to tree local space
|
|
88
89
|
* @param {Cartesian3[]} trianglePoints array of 3 Cartesian3 points representing the triangle
|
|
89
90
|
* @returns {AxisAlignedBoundingBox} the axis-aligned bounding box enclosing the triangle in tree local space
|
|
91
|
+
* @ignore
|
|
90
92
|
*/
|
|
91
93
|
function createAABBFromTriangle(inverseTransform, trianglePoints) {
|
|
92
94
|
Matrix4.multiplyByPoint(
|