@cesium/engine 23.0.1 → 25.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Build/Workers/{chunk-ZEMJQKHD.js → chunk-35H3UBIO.js} +13 -12
- package/Build/Workers/{chunk-PQTSXJBJ.js → chunk-3LSD7OOA.js} +16 -16
- package/Build/Workers/{chunk-PUO7BYDY.js → chunk-3RFFPH4M.js} +1 -1
- package/Build/Workers/{chunk-PBECJOWF.js → chunk-3TKLDHV3.js} +2 -2
- package/Build/Workers/{chunk-TMCTZ5E3.js → chunk-3VDDRF2E.js} +14 -14
- package/Build/Workers/{chunk-FKU77FNM.js → chunk-3XY3MVPG.js} +4 -4
- package/Build/Workers/{chunk-2OBWHTIC.js → chunk-4GF4MVPY.js} +7 -7
- package/Build/Workers/{chunk-JUKGMJX7.js → chunk-4MTRQFJP.js} +3 -2
- package/Build/Workers/{chunk-66OWUDO7.js → chunk-4QQXGTCE.js} +8 -8
- package/Build/Workers/{chunk-ALTCIHRH.js → chunk-4XXHJI6Y.js} +17 -17
- package/Build/Workers/{chunk-K7UTK4OM.js → chunk-5T6QQAJW.js} +3 -2
- package/Build/Workers/{chunk-IJ3SUMK3.js → chunk-6SDGQI27.js} +3 -2
- package/Build/Workers/{chunk-FXSRA5UG.js → chunk-77RL3MBD.js} +6 -5
- package/Build/Workers/{chunk-G6MJ3ZW3.js → chunk-7LSFAEWF.js} +12 -11
- package/Build/Workers/{chunk-C6HHBKT5.js → chunk-A7A433MD.js} +5 -5
- package/Build/Workers/{chunk-PGZ3B6CB.js → chunk-A7ZBMVFS.js} +14 -14
- package/Build/Workers/{chunk-OZYB3AOR.js → chunk-ACFFCHHZ.js} +11 -11
- package/Build/Workers/{chunk-DNMASBMH.js → chunk-AEAVLYPS.js} +2 -2
- package/Build/Workers/{chunk-VPWYHFQA.js → chunk-AWFZHD2B.js} +4 -4
- package/Build/Workers/{chunk-TFPG3ZKW.js → chunk-BTX2NL3P.js} +59 -46
- package/Build/Workers/{chunk-TNXOPEIG.js → chunk-BVAIWR7O.js} +12 -12
- package/Build/Workers/chunk-CKQP3DSS.js +973 -0
- package/Build/Workers/{chunk-N6HRZLS6.js → chunk-CZ23Y3RM.js} +2 -2
- package/Build/Workers/{chunk-EIC3VAOZ.js → chunk-DFEI5MAV.js} +7 -7
- package/Build/Workers/{chunk-BTP3634E.js → chunk-DH26SNAB.js} +4 -1
- package/Build/Workers/{chunk-TXYQNXNW.js → chunk-DYT5NR6P.js} +3 -3
- package/Build/Workers/{chunk-O67UP5YO.js → chunk-EZARA5FJ.js} +13 -13
- package/Build/Workers/{chunk-YSJRB2UZ.js → chunk-FIBS5S7R.js} +2 -2
- package/Build/Workers/{chunk-2M7DKGLW.js → chunk-FVLVVOBQ.js} +10 -10
- package/Build/Workers/{chunk-B2VA6IEL.js → chunk-GL7DNVUS.js} +5 -5
- package/Build/Workers/{chunk-77DJBHMI.js → chunk-GPIGURCG.js} +59 -32
- package/Build/Workers/{chunk-QPXGGVHC.js → chunk-H2A4USJR.js} +10 -10
- package/Build/Workers/chunk-HSVQATK2.js +147 -0
- package/Build/Workers/{chunk-HXEPZWJN.js → chunk-HVMG6AG4.js} +11 -10
- package/Build/Workers/{chunk-H3TVRJLY.js → chunk-I3A6DXYZ.js} +4 -4
- package/Build/Workers/{chunk-UEWYSOFD.js → chunk-ITD2IN7N.js} +2 -2
- package/Build/Workers/{chunk-CYOPNGPX.js → chunk-J3OFS2RD.js} +12 -12
- package/Build/Workers/{chunk-RZX6LOG6.js → chunk-J647NNZW.js} +6 -6
- package/Build/Workers/{chunk-GLCPE2BJ.js → chunk-J7KQEKPK.js} +13 -13
- package/Build/Workers/{chunk-XPMXRJDD.js → chunk-K6NFIRFB.js} +5 -5
- package/Build/Workers/{chunk-CID5SY7L.js → chunk-LH5SF3XV.js} +7 -6
- package/Build/Workers/{chunk-UOQB7XQI.js → chunk-ND3NTTOF.js} +713 -435
- package/Build/Workers/chunk-QO2CGXMP.js +2342 -0
- package/Build/Workers/chunk-QSDY4NS7.js +1287 -0
- package/Build/Workers/chunk-QXNQQYPV.js +3201 -0
- package/Build/Workers/{chunk-CJ7ZDY77.js → chunk-ST2UWDUU.js} +5 -5
- package/Build/Workers/{chunk-YDR5LX5Z.js → chunk-TA777BGS.js} +3 -2
- package/Build/Workers/{chunk-U4SWB6TI.js → chunk-TAI4HLII.js} +4 -4
- package/Build/Workers/{chunk-VX774SWE.js → chunk-URUCCIPS.js} +6 -6
- package/Build/Workers/{chunk-MNSNOONX.js → chunk-VQKLRBIK.js} +7 -7
- package/Build/Workers/{chunk-CVAAIRNP.js → chunk-WC57YYBN.js} +2 -2
- package/Build/Workers/{chunk-QNABVTTP.js → chunk-WN6P5UDH.js} +12 -12
- package/Build/Workers/{chunk-CNLXMOPM.js → chunk-WNN5D4W3.js} +12 -11
- package/Build/Workers/{chunk-4JJQRZYL.js → chunk-WTQGE7Q6.js} +17 -17
- package/Build/Workers/{chunk-FCJQO4NC.js → chunk-WUBKZFF6.js} +2213 -1349
- package/Build/Workers/{chunk-3UQ2YMPP.js → chunk-ZAPOS52G.js} +12 -10
- package/Build/Workers/{chunk-LHFC4R7Z.js → chunk-ZCCIIBZT.js} +6 -6
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +16 -16
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createCorridorGeometry.js +29 -29
- package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
- 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 +18 -18
- package/Build/Workers/createGeometry.js +24 -24
- package/Build/Workers/createGroundPolylineGeometry.js +175 -118
- package/Build/Workers/createPlaneGeometry.js +16 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
- package/Build/Workers/createPolygonGeometry.js +32 -32
- package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
- package/Build/Workers/createPolylineGeometry.js +25 -25
- package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
- package/Build/Workers/createRectangleGeometry.js +27 -27
- package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
- package/Build/Workers/createSimplePolylineGeometry.js +23 -23
- 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 +25 -25
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
- package/Build/Workers/createVerticesFromHeightmap.js +24 -23
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
- package/Build/Workers/createWallGeometry.js +25 -25
- package/Build/Workers/createWallOutlineGeometry.js +24 -24
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +12 -12
- 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 +12 -9
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Source/Core/ArcType.js +6 -1
- package/Source/Core/ArticulationStageType.js +5 -1
- package/Source/Core/AssociativeArray.js +100 -94
- package/Source/Core/BoundingSphere.js +1296 -1300
- package/Source/Core/Cartesian2.js +7 -5
- package/Source/Core/Cartesian3.js +9 -8
- package/Source/Core/Cartesian4.js +8 -6
- package/Source/Core/Cartographic.js +257 -249
- package/Source/Core/ClockRange.js +6 -1
- package/Source/Core/ClockStep.js +6 -1
- package/Source/Core/Color.js +846 -835
- package/Source/Core/ComponentDatatype.js +4 -1
- package/Source/Core/CornerType.js +6 -1
- package/Source/Core/Credit.js +121 -124
- package/Source/Core/DeveloperError.js +2 -1
- package/Source/Core/Ellipsoid.js +637 -660
- package/Source/Core/ExtrapolationType.js +6 -1
- package/Source/Core/GeocodeType.js +6 -1
- package/Source/Core/GeographicProjection.js +74 -74
- package/Source/Core/GeographicTilingScheme.js +179 -198
- package/Source/Core/GeometryOffsetAttribute.js +7 -1
- package/Source/Core/GeometryType.js +7 -1
- package/Source/Core/HeightmapEncoding.js +6 -1
- package/Source/Core/ITwinPlatform.js +1 -0
- package/Source/Core/Iau2006XysData.js +24 -13
- package/Source/Core/IndexDatatype.js +3 -1
- package/Source/Core/InterpolationType.js +5 -1
- package/Source/Core/Intersect.js +6 -1
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocodeProviderType.js +5 -1
- package/Source/Core/JulianDate.js +850 -848
- package/Source/Core/KeyboardEventModifier.js +6 -1
- package/Source/Core/MapProjection.js +39 -44
- package/Source/Core/Matrix2.js +906 -893
- package/Source/Core/Matrix3.js +1643 -1575
- package/Source/Core/Matrix4.js +2903 -2872
- package/Source/Core/PixelFormat.js +3 -1
- package/Source/Core/PrimitiveType.js +11 -1
- package/Source/Core/Ray.js +62 -60
- package/Source/Core/Rectangle.js +913 -904
- package/Source/Core/ReferenceFrame.js +6 -1
- package/Source/Core/RequestScheduler.js +8 -3
- package/Source/Core/RequestState.js +6 -1
- package/Source/Core/RequestType.js +6 -1
- package/Source/Core/S2Cell.js +2 -2
- package/Source/Core/ScreenSpaceEventType.js +6 -1
- package/Source/Core/TerrainMesh.js +10 -1
- package/Source/Core/TerrainPicker.js +1 -0
- package/Source/Core/TerrainQuantization.js +6 -1
- package/Source/Core/TilingScheme.js +100 -98
- package/Source/Core/TimeConstants.js +6 -1
- package/Source/Core/TimeStandard.js +6 -1
- package/Source/Core/TrackingReferenceFrame.js +6 -1
- package/Source/Core/Visibility.js +6 -1
- package/Source/Core/VulkanConstants.js +6 -1
- package/Source/Core/WallGeometry.js +1 -1
- package/Source/Core/WallOutlineGeometry.js +1 -1
- package/Source/Core/WebGLConstants.js +6 -1
- package/Source/Core/WebMercatorProjection.js +108 -109
- package/Source/Core/WebMercatorTilingScheme.js +246 -242
- package/Source/Core/WindingOrder.js +3 -1
- package/Source/Core/assert.js +27 -0
- package/Source/Core/globalTypes.js +4 -0
- package/Source/DataSources/CzmlDataSource.js +9 -0
- package/Source/DataSources/PathGraphics.js +13 -0
- package/Source/DataSources/PathVisualizer.js +330 -18
- package/Source/DataSources/StaticGeometryColorBatch.js +7 -2
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +7 -2
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +4 -1
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +4 -1
- package/Source/DataSources/StripeOrientation.js +6 -1
- package/Source/Renderer/BufferUsage.js +20 -9
- package/Source/Renderer/Context.js +2 -29
- package/Source/Renderer/DrawCommand.js +435 -403
- package/Source/Renderer/MipmapHint.js +5 -1
- package/Source/Renderer/Pass.js +7 -1
- package/Source/Renderer/PickId.js +44 -0
- package/Source/Renderer/PixelDatatype.js +3 -1
- package/Source/Renderer/RenderState.js +2 -2
- package/Source/Renderer/RenderbufferFormat.js +5 -1
- package/Source/Renderer/ShaderDestination.js +4 -1
- package/Source/Renderer/TextureMagnificationFilter.js +3 -1
- package/Source/Renderer/TextureMinificationFilter.js +3 -1
- package/Source/Renderer/TextureWrap.js +5 -1
- package/Source/Renderer/VertexArray.js +80 -0
- package/Source/Scene/AlphaMode.js +5 -1
- package/Source/Scene/ArcGisBaseMapType.js +6 -1
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/AttributeType.js +3 -1
- package/Source/Scene/Axis.js +3 -1
- package/Source/Scene/BillboardCollection.js +65 -364
- package/Source/Scene/BingMapsStyle.js +6 -1
- package/Source/Scene/BlendEquation.js +6 -1
- package/Source/Scene/BlendFunction.js +6 -1
- package/Source/Scene/BlendOption.js +6 -1
- package/Source/Scene/BlendingState.js +6 -1
- package/Source/Scene/BufferLoader.js +0 -2
- package/Source/Scene/BufferPoint.js +148 -0
- package/Source/Scene/BufferPointCollection.js +138 -0
- package/Source/Scene/BufferPointMaterial.js +95 -0
- package/Source/Scene/BufferPolygon.js +516 -0
- package/Source/Scene/BufferPolygonCollection.js +370 -0
- package/Source/Scene/BufferPolygonMaterial.js +41 -0
- package/Source/Scene/BufferPolyline.js +185 -0
- package/Source/Scene/BufferPolylineCollection.js +138 -0
- package/Source/Scene/BufferPolylineMaterial.js +93 -0
- package/Source/Scene/BufferPrimitive.js +347 -0
- package/Source/Scene/BufferPrimitiveCollection.js +818 -0
- package/Source/Scene/BufferPrimitiveMaterial.js +140 -0
- package/Source/Scene/CameraEventType.js +6 -1
- package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
- package/Source/Scene/Cesium3DTileContent.js +5 -1
- package/Source/Scene/Cesium3DTileContentFactory.js +9 -0
- package/Source/Scene/Cesium3DTileContentState.js +6 -1
- package/Source/Scene/Cesium3DTileContentType.js +3 -1
- package/Source/Scene/Cesium3DTileFeature.js +289 -306
- package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
- package/Source/Scene/Cesium3DTilePass.js +5 -1
- package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
- package/Source/Scene/Cesium3DTileRefine.js +6 -1
- package/Source/Scene/Cesium3DTileStyle.js +22 -0
- package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
- package/Source/Scene/Cesium3DTileset.js +2 -1
- package/Source/Scene/ClassificationType.js +3 -1
- package/Source/Scene/ClippingPolygonCollection.js +270 -101
- package/Source/Scene/CloudType.js +3 -1
- package/Source/Scene/ColorBlendMode.js +4 -1
- package/Source/Scene/CubeMapPanorama.js +4 -4
- package/Source/Scene/CullFace.js +6 -1
- package/Source/Scene/DepthFunction.js +6 -1
- package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
- package/Source/Scene/EquirectangularPanorama.js +1 -0
- package/Source/Scene/ExpressionNodeType.js +6 -1
- package/Source/Scene/GaussianSplat3DTileContent.js +40 -46
- package/Source/Scene/GaussianSplatPrimitive.js +413 -70
- package/Source/Scene/GetFeatureInfoFormat.js +3 -3
- package/Source/Scene/GltfBufferViewLoader.js +0 -2
- package/Source/Scene/GltfDracoLoader.js +0 -2
- package/Source/Scene/GltfImageLoader.js +0 -3
- package/Source/Scene/GltfIndexBufferLoader.js +0 -4
- package/Source/Scene/GltfJsonLoader.js +0 -2
- package/Source/Scene/GltfLoader.js +215 -39
- package/Source/Scene/GltfLoaderUtil.js +14 -0
- package/Source/Scene/GltfSpzLoader.js +109 -2
- package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
- package/Source/Scene/GltfTextureLoader.js +0 -2
- package/Source/Scene/GltfVertexBufferLoader.js +0 -4
- package/Source/Scene/HeightReference.js +5 -1
- package/Source/Scene/HorizontalOrigin.js +6 -1
- package/Source/Scene/ITwinData.js +1 -0
- package/Source/Scene/ImageryProvider.js +1 -1
- package/Source/Scene/ImageryState.js +6 -1
- package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
- package/Source/Scene/InstanceAttributeSemantic.js +3 -1
- package/Source/Scene/IonWorldImageryStyle.js +6 -1
- package/Source/Scene/JobType.js +6 -1
- package/Source/Scene/Label.js +32 -0
- package/Source/Scene/LabelCollection.js +14 -13
- package/Source/Scene/LabelStyle.js +6 -1
- package/Source/Scene/MapMode2D.js +6 -1
- package/Source/Scene/Material.js +2 -0
- package/Source/Scene/Megatexture.js +1 -0
- package/Source/Scene/MetadataClassProperty.js +24 -10
- package/Source/Scene/MetadataComponentType.js +118 -24
- package/Source/Scene/MetadataSchemaLoader.js +0 -2
- package/Source/Scene/MetadataSemantic.js +6 -2
- package/Source/Scene/MetadataType.js +3 -1
- package/Source/Scene/Model/B3dmLoader.js +0 -3
- package/Source/Scene/Model/CustomShaderMode.js +3 -1
- package/Source/Scene/Model/CustomShaderPipelineStage.js +3 -1
- package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +735 -264
- package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
- package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
- package/Source/Scene/Model/GeoJsonLoader.js +0 -2
- package/Source/Scene/Model/I3dmLoader.js +0 -3
- package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
- package/Source/Scene/Model/LightingModel.js +5 -1
- package/Source/Scene/Model/MaterialPipelineStage.js +331 -3
- package/Source/Scene/Model/MetadataPipelineStage.js +3 -3
- package/Source/Scene/Model/ModelDrawCommand.js +6 -0
- package/Source/Scene/Model/ModelReader.js +475 -4
- package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
- package/Source/Scene/Model/ModelType.js +3 -1
- package/Source/Scene/Model/ModelUtility.js +3 -1
- package/Source/Scene/Model/PntsLoader.js +4 -3
- package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
- package/Source/Scene/Model/UniformType.js +5 -1
- package/Source/Scene/Model/VaryingType.js +5 -1
- package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +375 -0
- package/Source/Scene/Model/pickModel.js +94 -299
- package/Source/Scene/ModelAnimationLoop.js +6 -1
- package/Source/Scene/ModelAnimationState.js +6 -1
- package/Source/Scene/ModelComponents.js +1639 -1542
- package/Source/Scene/PickedMetadataInfo.js +1 -0
- package/Source/Scene/PrimitiveState.js +7 -1
- package/Source/Scene/QuadtreeOccluders.js +20 -15
- package/Source/Scene/QuadtreeTile.js +547 -541
- package/Source/Scene/QuadtreeTileLoadState.js +6 -1
- package/Source/Scene/QuadtreeTileProvider.js +159 -175
- package/Source/Scene/ResourceLoader.js +0 -1
- package/Source/Scene/ResourceLoaderState.js +7 -1
- package/Source/Scene/SceneMode.js +4 -1
- package/Source/Scene/ScreenSpaceCameraController.js +13 -0
- package/Source/Scene/ShadowMode.js +3 -1
- package/Source/Scene/SkyBox.js +17 -8
- package/Source/Scene/SplitDirection.js +6 -1
- package/Source/Scene/StencilFunction.js +6 -1
- package/Source/Scene/StencilOperation.js +6 -1
- package/Source/Scene/TerrainState.js +7 -1
- package/Source/Scene/TileBoundingRegion.js +1 -1
- package/Source/Scene/TileBoundingS2Cell.js +1 -1
- package/Source/Scene/TileBoundingSphere.js +1 -1
- package/Source/Scene/TileState.js +7 -1
- package/Source/Scene/Tonemapper.js +5 -1
- package/Source/Scene/TweenCollection.js +7 -0
- package/Source/Scene/VectorGltf3DTileContent.js +403 -0
- package/Source/Scene/VertexAttributeSemantic.js +17 -1
- package/Source/Scene/VerticalOrigin.js +6 -1
- package/Source/Scene/VoxelBoxShape.js +12 -6
- package/Source/Scene/VoxelContent.js +2 -0
- package/Source/Scene/VoxelCylinderShape.js +39 -38
- package/Source/Scene/VoxelEllipsoidShape.js +46 -96
- package/Source/Scene/VoxelMetadataOrder.js +6 -1
- package/Source/Scene/VoxelProvider.js +1 -0
- package/Source/Scene/VoxelShapeType.js +3 -1
- package/Source/Scene/WebMapServiceImageryProvider.js +2 -2
- package/Source/Scene/WebMapTileServiceImageryProvider.js +366 -131
- package/Source/Scene/parseStructuralMetadata.js +97 -37
- package/Source/Scene/renderBufferPointCollection.js +285 -0
- package/Source/Scene/renderBufferPolygonCollection.js +339 -0
- package/Source/Scene/renderBufferPolylineCollection.js +478 -0
- package/Source/Shaders/BillboardCollectionFS.glsl +2 -77
- package/Source/Shaders/BillboardCollectionFS.js +2 -77
- package/Source/Shaders/BillboardCollectionVS.glsl +2 -60
- package/Source/Shaders/BillboardCollectionVS.js +2 -60
- package/Source/Shaders/BufferPointMaterialFS.glsl +27 -0
- package/Source/Shaders/BufferPointMaterialFS.js +29 -0
- package/Source/Shaders/BufferPointMaterialVS.glsl +48 -0
- package/Source/Shaders/BufferPointMaterialVS.js +50 -0
- package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolygonMaterialFS.js +15 -0
- package/Source/Shaders/BufferPolygonMaterialVS.glsl +30 -0
- package/Source/Shaders/BufferPolygonMaterialVS.js +32 -0
- package/Source/Shaders/BufferPolylineMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolylineMaterialFS.js +15 -0
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +49 -0
- package/Source/Shaders/BufferPolylineMaterialVS.js +51 -0
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
- package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
- package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
- package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
- package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
- package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
- package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +34 -48
- package/Source/Shaders/Model/EdgeVisibilityStageFS.js +34 -49
- package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +98 -0
- package/Source/Shaders/Model/EdgeVisibilityStageVS.js +100 -0
- package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
- package/Source/Shaders/Model/MaterialStageFS.js +46 -20
- package/Source/Shaders/Model/ModelFS.glsl +15 -0
- package/Source/Shaders/Model/ModelFS.js +15 -0
- package/Source/Shaders/Model/ModelVS.glsl +8 -0
- package/Source/Shaders/Model/ModelVS.js +8 -0
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +64 -33
- package/Source/Shaders/PolygonSignedDistanceFS.js +64 -33
- package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +9 -2
- package/Source/Shaders/PrimitiveGaussianSplatVS.js +9 -2
- package/Source/Shaders/Voxels/VoxelFS.glsl +1 -1
- package/Source/Shaders/Voxels/VoxelFS.js +1 -1
- package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
- package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
- package/Source/Widget/CesiumWidget.js +11 -4
- package/Source/Workers/decodeDraco.js +3 -0
- package/Source/Workers/decodeI3S.js +5 -2
- package/index.d.ts +1332 -402
- package/index.js +111 -81
- package/package.json +3 -3
- package/Build/Workers/chunk-54O3AGOA.js +0 -642
- package/Build/Workers/chunk-6U5QMZU3.js +0 -940
- package/Build/Workers/chunk-HNDE73JK.js +0 -1829
- package/Build/Workers/chunk-PAFMAR7A.js +0 -2357
- package/Build/Workers/chunk-S53HSRT6.js +0 -114
|
@@ -135,7 +135,6 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
135
135
|
/**
|
|
136
136
|
* The cache key of the resource.
|
|
137
137
|
*
|
|
138
|
-
* @memberof GltfVertexBufferLoader.prototype
|
|
139
138
|
*
|
|
140
139
|
* @type {string}
|
|
141
140
|
* @readonly
|
|
@@ -148,7 +147,6 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
148
147
|
/**
|
|
149
148
|
* The vertex buffer. This is only defined when <code>loadAsTypedArray</code> is false.
|
|
150
149
|
*
|
|
151
|
-
* @memberof GltfVertexBufferLoader.prototype
|
|
152
150
|
*
|
|
153
151
|
* @type {Buffer}
|
|
154
152
|
* @readonly
|
|
@@ -161,7 +159,6 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
161
159
|
/**
|
|
162
160
|
* The typed array containing vertex buffer data. This is only defined when <code>loadAsTypedArray</code> is true.
|
|
163
161
|
*
|
|
164
|
-
* @memberof GltfVertexBufferLoader.prototype
|
|
165
162
|
*
|
|
166
163
|
* @type {Uint8Array}
|
|
167
164
|
* @readonly
|
|
@@ -174,7 +171,6 @@ class GltfVertexBufferLoader extends ResourceLoader {
|
|
|
174
171
|
/**
|
|
175
172
|
* Information about the quantized vertex attribute after Draco decode.
|
|
176
173
|
*
|
|
177
|
-
* @memberof GltfVertexBufferLoader.prototype
|
|
178
174
|
*
|
|
179
175
|
* @type {ModelComponents.Quantization}
|
|
180
176
|
* @readonly
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Represents the position relative to the terrain.
|
|
3
5
|
*
|
|
@@ -54,7 +56,9 @@ const HeightReference = {
|
|
|
54
56
|
RELATIVE_TO_3D_TILE: 6,
|
|
55
57
|
};
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
Object.freeze(HeightReference);
|
|
60
|
+
|
|
61
|
+
export default HeightReference;
|
|
58
62
|
|
|
59
63
|
/**
|
|
60
64
|
* Returns true if the height should be clamped to the surface
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* The horizontal location of an origin relative to an object, e.g., a {@link Billboard}
|
|
3
5
|
* or {@link Label}. For example, setting the horizontal origin to <code>LEFT</code>
|
|
@@ -38,4 +40,7 @@ const HorizontalOrigin = {
|
|
|
38
40
|
*/
|
|
39
41
|
RIGHT: -1,
|
|
40
42
|
};
|
|
41
|
-
|
|
43
|
+
|
|
44
|
+
Object.freeze(HorizontalOrigin);
|
|
45
|
+
|
|
46
|
+
export default HorizontalOrigin;
|
|
@@ -138,6 +138,7 @@ ITwinData.createTilesetForRealityDataId = async function ({
|
|
|
138
138
|
ITwinPlatform.RealityDataType.PNTS,
|
|
139
139
|
ITwinPlatform.RealityDataType.RealityMesh3DTiles,
|
|
140
140
|
ITwinPlatform.RealityDataType.Terrain3DTiles,
|
|
141
|
+
ITwinPlatform.RealityDataType.GaussianSplat3DTiles,
|
|
141
142
|
];
|
|
142
143
|
|
|
143
144
|
if (!supportedRealityDataTypes.includes(type)) {
|
|
@@ -5,7 +5,7 @@ import loadKTX2 from "../Core/loadKTX2.js";
|
|
|
5
5
|
import Resource from "../Core/Resource.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* @typedef {HTMLImageElement|HTMLCanvasElement|ImageBitmap} ImageryTypes
|
|
8
|
+
* @typedef {HTMLImageElement|HTMLCanvasElement|ImageBitmap|OffscreenCanvas} ImageryTypes
|
|
9
9
|
*
|
|
10
10
|
* The format in which {@link ImageryProvider} methods return an image may
|
|
11
11
|
* vary by provider, configuration, or server settings. Most common are
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
// Note, these values map directly to ion asset ids.
|
|
2
4
|
|
|
3
5
|
/**
|
|
@@ -30,4 +32,7 @@ const IonWorldImageryStyle = {
|
|
|
30
32
|
*/
|
|
31
33
|
ROAD: 4,
|
|
32
34
|
};
|
|
33
|
-
|
|
35
|
+
|
|
36
|
+
Object.freeze(IonWorldImageryStyle);
|
|
37
|
+
|
|
38
|
+
export default IonWorldImageryStyle;
|
package/Source/Scene/JobType.js
CHANGED
package/Source/Scene/Label.js
CHANGED
|
@@ -1186,6 +1186,38 @@ Object.defineProperties(Label.prototype, {
|
|
|
1186
1186
|
}
|
|
1187
1187
|
},
|
|
1188
1188
|
},
|
|
1189
|
+
|
|
1190
|
+
/**
|
|
1191
|
+
* When <code>true</code>, this label is ready to render, i.e., the glyphs have been mapped and the WebGL resources are created. This property is exposed for testing purposes.
|
|
1192
|
+
* @memberof Label.prototype
|
|
1193
|
+
* @type {boolean}
|
|
1194
|
+
* @readonly
|
|
1195
|
+
* @private
|
|
1196
|
+
*/
|
|
1197
|
+
ready: {
|
|
1198
|
+
get: function () {
|
|
1199
|
+
if (this._rebindAllGlyphs || this._repositionAllGlyphs) {
|
|
1200
|
+
return false;
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
if (
|
|
1204
|
+
defined(this._backgroundBillboard) &&
|
|
1205
|
+
!this._backgroundBillboard.ready
|
|
1206
|
+
) {
|
|
1207
|
+
return false;
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
const glyphs = this._glyphs;
|
|
1211
|
+
for (let i = 0, len = glyphs.length; i < len; i++) {
|
|
1212
|
+
const glyph = glyphs[i];
|
|
1213
|
+
if (defined(glyph.billboard) && !glyph.billboard.ready) {
|
|
1214
|
+
return false;
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
return true;
|
|
1219
|
+
},
|
|
1220
|
+
},
|
|
1189
1221
|
});
|
|
1190
1222
|
|
|
1191
1223
|
Label.prototype._updateClamping = function () {
|
|
@@ -85,6 +85,8 @@ function getWhitePixelBillboard(billboardCollection, labelCollection) {
|
|
|
85
85
|
});
|
|
86
86
|
|
|
87
87
|
billboard.setImageTexture(billboardTexture);
|
|
88
|
+
billboard._positionFromParent = true;
|
|
89
|
+
billboard._labelTranslate = new Cartesian2();
|
|
88
90
|
|
|
89
91
|
return billboard;
|
|
90
92
|
}
|
|
@@ -288,6 +290,9 @@ function rebindAllGlyphs(labelCollection, label) {
|
|
|
288
290
|
billboard.horizontalOrigin = HorizontalOrigin.LEFT;
|
|
289
291
|
billboard.verticalOrigin = label._verticalOrigin;
|
|
290
292
|
billboard.heightReference = label._heightReference;
|
|
293
|
+
if (defined(label._clampedPosition)) {
|
|
294
|
+
billboard._clampedPosition = label._clampedPosition;
|
|
295
|
+
}
|
|
291
296
|
billboard.scale = label.totalScale;
|
|
292
297
|
billboard.pickPrimitive = label;
|
|
293
298
|
billboard.id = label._id;
|
|
@@ -342,6 +347,9 @@ function updateBackgroundBillboard(
|
|
|
342
347
|
backgroundBillboard.horizontalOrigin = HorizontalOrigin.LEFT;
|
|
343
348
|
backgroundBillboard.verticalOrigin = label._verticalOrigin;
|
|
344
349
|
backgroundBillboard.heightReference = label._heightReference;
|
|
350
|
+
if (defined(label._clampedPosition)) {
|
|
351
|
+
backgroundBillboard._clampedPosition = label._clampedPosition;
|
|
352
|
+
}
|
|
345
353
|
backgroundBillboard.scale = label.totalScale;
|
|
346
354
|
backgroundBillboard.pickPrimitive = label;
|
|
347
355
|
backgroundBillboard.id = label._id;
|
|
@@ -493,6 +501,12 @@ function repositionAllGlyphs(label) {
|
|
|
493
501
|
glyph.billboard._labelDimensions.x = totalLineWidth;
|
|
494
502
|
glyph.billboard._labelDimensions.y = totalLineHeight;
|
|
495
503
|
glyph.billboard._labelHorizontalOrigin = horizontalOrigin;
|
|
504
|
+
if (isHeightReferenceClamp(label.heightReference)) {
|
|
505
|
+
glyph.billboard._labelTranslate = Cartesian2.clone(
|
|
506
|
+
glyphPixelOffset,
|
|
507
|
+
glyph.billboard._labelTranslate,
|
|
508
|
+
);
|
|
509
|
+
}
|
|
496
510
|
}
|
|
497
511
|
|
|
498
512
|
//Compute the next x offset taking into account the kerning performed
|
|
@@ -536,19 +550,6 @@ function repositionAllGlyphs(label) {
|
|
|
536
550
|
backgroundBillboard._labelTranslate,
|
|
537
551
|
);
|
|
538
552
|
}
|
|
539
|
-
|
|
540
|
-
if (isHeightReferenceClamp(label.heightReference)) {
|
|
541
|
-
for (let glyphIndex = 0; glyphIndex < glyphLength; ++glyphIndex) {
|
|
542
|
-
const glyph = glyphs[glyphIndex];
|
|
543
|
-
const billboard = glyph.billboard;
|
|
544
|
-
if (defined(billboard)) {
|
|
545
|
-
billboard._labelTranslate = Cartesian2.clone(
|
|
546
|
-
glyphPixelOffset,
|
|
547
|
-
billboard._labelTranslate,
|
|
548
|
-
);
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
553
|
}
|
|
553
554
|
|
|
554
555
|
function destroyLabel(labelCollection, label) {
|
package/Source/Scene/Material.js
CHANGED
|
@@ -354,6 +354,7 @@ function Material(options) {
|
|
|
354
354
|
|
|
355
355
|
/**
|
|
356
356
|
* The {@link TextureMinificationFilter} to apply to this material's textures.
|
|
357
|
+
* @memberof Material.prototype
|
|
357
358
|
* @type {TextureMinificationFilter}
|
|
358
359
|
* @default TextureMinificationFilter.LINEAR
|
|
359
360
|
*/
|
|
@@ -368,6 +369,7 @@ function Material(options) {
|
|
|
368
369
|
|
|
369
370
|
/**
|
|
370
371
|
* The {@link TextureMagnificationFilter} to apply to this material's textures.
|
|
372
|
+
* @memberof Material.prototype
|
|
371
373
|
* @type {TextureMagnificationFilter}
|
|
372
374
|
* @default TextureMagnificationFilter.LINEAR
|
|
373
375
|
*/
|
|
@@ -1191,21 +1191,36 @@ MetadataClassProperty.valueTransformInPlace = function (
|
|
|
1191
1191
|
};
|
|
1192
1192
|
|
|
1193
1193
|
/**
|
|
1194
|
-
* Determines the byte size of a single property element.
|
|
1194
|
+
* Determines the byte size of a single property element, stored on the CPU.
|
|
1195
1195
|
* For example, if the metadata type is VEC3 and the component type is FLOAT32, this would return 12 bytes.
|
|
1196
1196
|
*
|
|
1197
1197
|
* @returns {number} The byte size of a single property element.
|
|
1198
1198
|
*
|
|
1199
1199
|
* @private
|
|
1200
1200
|
*/
|
|
1201
|
-
MetadataClassProperty.prototype.
|
|
1202
|
-
|
|
1203
|
-
|
|
1201
|
+
MetadataClassProperty.prototype.cpuBytesPerElement = function () {
|
|
1202
|
+
return bytesPerElement(this, this.valueType);
|
|
1203
|
+
};
|
|
1204
|
+
|
|
1205
|
+
/**
|
|
1206
|
+
* Determines the byte size of a single property element, stored on the GPU.
|
|
1207
|
+
* This differs from the CPU byte size if the element type is a 64-bit type that can be
|
|
1208
|
+
* downcast to a 32-bit type for texture packing (only relevant for textures created from property tables).
|
|
1209
|
+
*
|
|
1210
|
+
* @returns {number} The byte size of a single property element on the GPU.
|
|
1211
|
+
*/
|
|
1212
|
+
MetadataClassProperty.prototype.gpuBytesPerElement = function () {
|
|
1213
|
+
const packedType = MetadataComponentType.gpuComponentType(this.valueType);
|
|
1214
|
+
return bytesPerElement(this, packedType);
|
|
1215
|
+
};
|
|
1216
|
+
|
|
1217
|
+
function bytesPerElement(classProperty, valueType) {
|
|
1218
|
+
const type = classProperty.type;
|
|
1204
1219
|
const componentCount = MetadataType.getComponentCount(type);
|
|
1205
|
-
const arrayLength =
|
|
1220
|
+
const arrayLength = classProperty.isArray ? classProperty.arrayLength : 1;
|
|
1206
1221
|
const bytesPerComponent = MetadataComponentType.getSizeInBytes(valueType);
|
|
1207
1222
|
return componentCount * arrayLength * bytesPerComponent;
|
|
1208
|
-
}
|
|
1223
|
+
}
|
|
1209
1224
|
|
|
1210
1225
|
/**
|
|
1211
1226
|
* Determines whether this property can be stored in a texture, given the property's datatype and the number of
|
|
@@ -1240,9 +1255,8 @@ MetadataClassProperty.prototype.isGpuCompatible = function (channelsLength) {
|
|
|
1240
1255
|
}
|
|
1241
1256
|
|
|
1242
1257
|
// For all other properties, make sure the components fit in the sampled channels.
|
|
1243
|
-
// (
|
|
1244
|
-
|
|
1245
|
-
if (elementSizeInBytes > channelsLength) {
|
|
1258
|
+
// (64-bit types can be downcast to 32-bit types for texture packing. In the future, support for full 64-bit types may be added)
|
|
1259
|
+
if (this.gpuBytesPerElement() > channelsLength) {
|
|
1246
1260
|
return false;
|
|
1247
1261
|
}
|
|
1248
1262
|
|
|
@@ -1317,7 +1331,7 @@ MetadataClassProperty.prototype.unpackTextureInShader = function (
|
|
|
1317
1331
|
shaderLines,
|
|
1318
1332
|
) {
|
|
1319
1333
|
const glslType = this.getGlslType();
|
|
1320
|
-
const valueType = this.valueType;
|
|
1334
|
+
const valueType = MetadataComponentType.gpuComponentType(this.valueType);
|
|
1321
1335
|
const numChannels = channelsString.length;
|
|
1322
1336
|
const type = this.type;
|
|
1323
1337
|
|
|
@@ -139,6 +139,8 @@ MetadataComponentType.typeInfo = {
|
|
|
139
139
|
maximumValue: BigInt("9223372036854775807"),
|
|
140
140
|
minimumValue: BigInt("-9223372036854775808"),
|
|
141
141
|
category: ScalarCategories.INTEGER,
|
|
142
|
+
downcastFunction: (value) =>
|
|
143
|
+
MetadataComponentType.clampToLimits(value, MetadataComponentType.INT32),
|
|
142
144
|
},
|
|
143
145
|
UINT64: {
|
|
144
146
|
vectorCompatible: false,
|
|
@@ -146,6 +148,8 @@ MetadataComponentType.typeInfo = {
|
|
|
146
148
|
maximumValue: BigInt("18446744073709551615"),
|
|
147
149
|
minimumValue: BigInt(0),
|
|
148
150
|
category: ScalarCategories.UNSIGNED_INTEGER,
|
|
151
|
+
downcastFunction: (value) =>
|
|
152
|
+
MetadataComponentType.clampToLimits(value, MetadataComponentType.UINT32),
|
|
149
153
|
},
|
|
150
154
|
FLOAT32: {
|
|
151
155
|
vectorCompatible: true,
|
|
@@ -160,6 +164,7 @@ MetadataComponentType.typeInfo = {
|
|
|
160
164
|
maximumValue: Number.MAX_VALUE,
|
|
161
165
|
minimumValue: -Number.MAX_VALUE,
|
|
162
166
|
category: ScalarCategories.FLOAT,
|
|
167
|
+
downcastFunction: (value) => Math.fround(value),
|
|
163
168
|
},
|
|
164
169
|
};
|
|
165
170
|
|
|
@@ -283,6 +288,25 @@ MetadataComponentType.category = function (type) {
|
|
|
283
288
|
return typeInfo.category;
|
|
284
289
|
};
|
|
285
290
|
|
|
291
|
+
/**
|
|
292
|
+
* Gets the component type as represented on the GPU (that is, taking downcasting into account).
|
|
293
|
+
* This is different from getting the glsl variable type of an entire metadata property. This is only for a component.
|
|
294
|
+
* @param {MetadataComponentType} type The component type.
|
|
295
|
+
* @returns {MetadataComponentType} The GPU component type.
|
|
296
|
+
*/
|
|
297
|
+
MetadataComponentType.gpuComponentType = function (type) {
|
|
298
|
+
switch (type) {
|
|
299
|
+
case MetadataComponentType.INT64:
|
|
300
|
+
return "INT32";
|
|
301
|
+
case MetadataComponentType.UINT64:
|
|
302
|
+
return "UINT32";
|
|
303
|
+
case MetadataComponentType.FLOAT64:
|
|
304
|
+
return "FLOAT32";
|
|
305
|
+
default:
|
|
306
|
+
return type;
|
|
307
|
+
}
|
|
308
|
+
};
|
|
309
|
+
|
|
286
310
|
/**
|
|
287
311
|
* Normalizes signed integers to the range [-1.0, 1.0] and unsigned integers to
|
|
288
312
|
* the range [0.0, 1.0].
|
|
@@ -401,6 +425,52 @@ MetadataComponentType.getSizeInBytes = function (type) {
|
|
|
401
425
|
return MetadataComponentType.typeInfo[type].size;
|
|
402
426
|
};
|
|
403
427
|
|
|
428
|
+
/**
|
|
429
|
+
* Clamps a value to the minimum and maximum limits of the given component type.
|
|
430
|
+
*
|
|
431
|
+
* @param {number|bigint} value The value to clamp.
|
|
432
|
+
* @param {MetadataComponentType} type The component type.
|
|
433
|
+
* @returns {number} The clamped value.
|
|
434
|
+
*
|
|
435
|
+
* @private
|
|
436
|
+
*/
|
|
437
|
+
MetadataComponentType.clampToLimits = function (value, type) {
|
|
438
|
+
const min = MetadataComponentType.getMinimum(type);
|
|
439
|
+
const max = MetadataComponentType.getMaximum(type);
|
|
440
|
+
|
|
441
|
+
if (typeof value === "bigint") {
|
|
442
|
+
const minBigInt = BigInt(min);
|
|
443
|
+
const maxBigInt = BigInt(max);
|
|
444
|
+
|
|
445
|
+
if (value < minBigInt) {
|
|
446
|
+
return min;
|
|
447
|
+
}
|
|
448
|
+
if (value > maxBigInt) {
|
|
449
|
+
return max;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
return Number(value);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
return Math.max(min, Math.min(max, value));
|
|
456
|
+
};
|
|
457
|
+
|
|
458
|
+
MetadataComponentType.downcastFunction = function (type) {
|
|
459
|
+
const typeInfo = MetadataComponentType.typeInfo[type];
|
|
460
|
+
//>>includeStart('debug', pragmas.debug);
|
|
461
|
+
if (!defined(typeInfo)) {
|
|
462
|
+
throw new DeveloperError("type must be a valid MetadataComponentType");
|
|
463
|
+
}
|
|
464
|
+
//>>includeEnd('debug');
|
|
465
|
+
|
|
466
|
+
const func = typeInfo.downcastFunction;
|
|
467
|
+
if (!defined(func)) {
|
|
468
|
+
return (value) => value;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
return func;
|
|
472
|
+
};
|
|
473
|
+
|
|
404
474
|
/**
|
|
405
475
|
* Gets the {@link MetadataComponentType} from a {@link ComponentDatatype}.
|
|
406
476
|
*
|
|
@@ -468,37 +538,61 @@ MetadataComponentType.toComponentDatatype = function (type) {
|
|
|
468
538
|
};
|
|
469
539
|
|
|
470
540
|
/**
|
|
471
|
-
* Gets
|
|
541
|
+
* Gets functions for getting and setting values of the given component type on a DataView.
|
|
472
542
|
*
|
|
473
543
|
* @param {DataView} view The DataView.
|
|
474
544
|
* @param {MetadataComponentType} componentType The component type.
|
|
475
|
-
* @returns {
|
|
545
|
+
* @returns {Object} An object containing the getter and setter functions.
|
|
476
546
|
*
|
|
477
547
|
* @private
|
|
478
548
|
*/
|
|
479
|
-
MetadataComponentType.
|
|
480
|
-
const
|
|
481
|
-
[MetadataComponentType.UINT8]:
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
[MetadataComponentType.
|
|
486
|
-
view.
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
[MetadataComponentType.
|
|
490
|
-
view.
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
[MetadataComponentType.
|
|
494
|
-
view.
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
[MetadataComponentType.
|
|
498
|
-
view.
|
|
549
|
+
MetadataComponentType.getDataViewAccessors = function (view, componentType) {
|
|
550
|
+
const accessors = {
|
|
551
|
+
[MetadataComponentType.UINT8]: {
|
|
552
|
+
get: view.getUint8.bind(view),
|
|
553
|
+
set: view.setUint8.bind(view),
|
|
554
|
+
},
|
|
555
|
+
[MetadataComponentType.INT8]: {
|
|
556
|
+
get: view.getInt8.bind(view),
|
|
557
|
+
set: view.setInt8.bind(view),
|
|
558
|
+
},
|
|
559
|
+
[MetadataComponentType.UINT16]: {
|
|
560
|
+
get: (offset) => view.getUint16(offset, true),
|
|
561
|
+
set: (offset, value) => view.setUint16(offset, value, true),
|
|
562
|
+
},
|
|
563
|
+
[MetadataComponentType.INT16]: {
|
|
564
|
+
get: (offset) => view.getInt16(offset, true),
|
|
565
|
+
set: (offset, value) => view.setInt16(offset, value, true),
|
|
566
|
+
},
|
|
567
|
+
[MetadataComponentType.UINT32]: {
|
|
568
|
+
get: (offset) => view.getUint32(offset, true),
|
|
569
|
+
set: (offset, value) => view.setUint32(offset, value, true),
|
|
570
|
+
},
|
|
571
|
+
[MetadataComponentType.INT32]: {
|
|
572
|
+
get: (offset) => view.getInt32(offset, true),
|
|
573
|
+
set: (offset, value) => view.setInt32(offset, value, true),
|
|
574
|
+
},
|
|
575
|
+
[MetadataComponentType.FLOAT32]: {
|
|
576
|
+
get: (offset) => view.getFloat32(offset, true),
|
|
577
|
+
set: (offset, value) => view.setFloat32(offset, value, true),
|
|
578
|
+
},
|
|
579
|
+
[MetadataComponentType.FLOAT64]: {
|
|
580
|
+
get: (offset) => view.getFloat64(offset, true),
|
|
581
|
+
set: (offset, value) => view.setFloat64(offset, value, true),
|
|
582
|
+
},
|
|
583
|
+
[MetadataComponentType.UINT64]: {
|
|
584
|
+
get: (offset) => view.getBigUint64(offset, true),
|
|
585
|
+
set: (offset, value) => view.setBigUint64(offset, BigInt(value), true),
|
|
586
|
+
},
|
|
587
|
+
[MetadataComponentType.INT64]: {
|
|
588
|
+
get: (offset) => view.getBigInt64(offset, true),
|
|
589
|
+
set: (offset, value) => view.setBigInt64(offset, BigInt(value), true),
|
|
590
|
+
},
|
|
499
591
|
};
|
|
500
592
|
|
|
501
|
-
return
|
|
593
|
+
return accessors[componentType];
|
|
502
594
|
};
|
|
503
595
|
|
|
504
|
-
|
|
596
|
+
Object.freeze(MetadataComponentType);
|
|
597
|
+
|
|
598
|
+
export default MetadataComponentType;
|
|
@@ -51,7 +51,6 @@ class MetadataSchemaLoader extends ResourceLoader {
|
|
|
51
51
|
/**
|
|
52
52
|
* The cache key of the resource.
|
|
53
53
|
*
|
|
54
|
-
* @memberof MetadataSchemaLoader.prototype
|
|
55
54
|
*
|
|
56
55
|
* @type {string}
|
|
57
56
|
* @readonly
|
|
@@ -64,7 +63,6 @@ class MetadataSchemaLoader extends ResourceLoader {
|
|
|
64
63
|
/**
|
|
65
64
|
* The metadata schema object.
|
|
66
65
|
*
|
|
67
|
-
* @memberof MetadataSchemaLoader.prototype
|
|
68
66
|
*
|
|
69
67
|
* @type {MetadataSchema}
|
|
70
68
|
* @readonly
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* An enum of built-in semantics.
|
|
3
5
|
*
|
|
4
|
-
* @enum
|
|
6
|
+
* @enum {string}
|
|
5
7
|
*
|
|
6
8
|
* @private
|
|
7
9
|
* @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.
|
|
@@ -150,4 +152,6 @@ const MetadataSemantic = {
|
|
|
150
152
|
CONTENT_HORIZON_OCCLUSION_POINT: "CONTENT_HORIZON_OCCLUSION_POINT",
|
|
151
153
|
};
|
|
152
154
|
|
|
153
|
-
|
|
155
|
+
Object.freeze(MetadataSemantic);
|
|
156
|
+
|
|
157
|
+
export default MetadataSemantic;
|
|
@@ -118,7 +118,6 @@ class B3dmLoader extends ResourceLoader {
|
|
|
118
118
|
/**
|
|
119
119
|
* true if textures are loaded, useful when incrementallyLoadTextures is true
|
|
120
120
|
*
|
|
121
|
-
* @memberof B3dmLoader.prototype
|
|
122
121
|
*
|
|
123
122
|
* @type {boolean}
|
|
124
123
|
* @readonly
|
|
@@ -131,7 +130,6 @@ class B3dmLoader extends ResourceLoader {
|
|
|
131
130
|
/**
|
|
132
131
|
* The cache key of the resource
|
|
133
132
|
*
|
|
134
|
-
* @memberof B3dmLoader.prototype
|
|
135
133
|
*
|
|
136
134
|
* @type {string}
|
|
137
135
|
* @readonly
|
|
@@ -144,7 +142,6 @@ class B3dmLoader extends ResourceLoader {
|
|
|
144
142
|
/**
|
|
145
143
|
* The loaded components.
|
|
146
144
|
*
|
|
147
|
-
* @memberof B3dmLoader.prototype
|
|
148
145
|
*
|
|
149
146
|
* @type {ModelComponents.Components}
|
|
150
147
|
* @readonly
|
|
@@ -730,7 +730,9 @@ function getAllPropertyIds(primitive, structuralMetadata) {
|
|
|
730
730
|
function addUsedPropertyIds(propertyContainerIds, propertyContainers) {
|
|
731
731
|
for (const id of propertyContainerIds) {
|
|
732
732
|
const propertyContainer = propertyContainers[id];
|
|
733
|
-
|
|
733
|
+
const classProperties = propertyContainer.class.properties;
|
|
734
|
+
|
|
735
|
+
Object.keys(classProperties).forEach((propertyId) =>
|
|
734
736
|
primitivePropertyIds.add(propertyId),
|
|
735
737
|
);
|
|
736
738
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* An enum for controling how {@link CustomShader} handles translucency compared with the original
|
|
3
5
|
* primitive.
|
|
@@ -32,4 +34,6 @@ const CustomShaderTranslucencyMode = {
|
|
|
32
34
|
TRANSLUCENT: 2,
|
|
33
35
|
};
|
|
34
36
|
|
|
35
|
-
|
|
37
|
+
Object.freeze(CustomShaderTranslucencyMode);
|
|
38
|
+
|
|
39
|
+
export default CustomShaderTranslucencyMode;
|