@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
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* The types of imagery provided by Bing Maps.
|
|
3
5
|
*
|
|
@@ -90,4 +92,7 @@ const BingMapsStyle = {
|
|
|
90
92
|
*/
|
|
91
93
|
COLLINS_BART: "CollinsBart",
|
|
92
94
|
};
|
|
93
|
-
|
|
95
|
+
|
|
96
|
+
Object.freeze(BingMapsStyle);
|
|
97
|
+
|
|
98
|
+
export default BingMapsStyle;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
import WebGLConstants from "../Core/WebGLConstants.js";
|
|
2
4
|
|
|
3
5
|
/**
|
|
@@ -50,4 +52,7 @@ const BlendEquation = {
|
|
|
50
52
|
*/
|
|
51
53
|
MAX: WebGLConstants.MAX,
|
|
52
54
|
};
|
|
53
|
-
|
|
55
|
+
|
|
56
|
+
Object.freeze(BlendEquation);
|
|
57
|
+
|
|
58
|
+
export default BlendEquation;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
import WebGLConstants from "../Core/WebGLConstants.js";
|
|
2
4
|
|
|
3
5
|
/**
|
|
@@ -126,4 +128,7 @@ const BlendFunction = {
|
|
|
126
128
|
*/
|
|
127
129
|
SOURCE_ALPHA_SATURATE: WebGLConstants.SRC_ALPHA_SATURATE,
|
|
128
130
|
};
|
|
129
|
-
|
|
131
|
+
|
|
132
|
+
Object.freeze(BlendFunction);
|
|
133
|
+
|
|
134
|
+
export default BlendFunction;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Determines how opaque and translucent parts of billboards, points, and labels are blended with the scene.
|
|
3
5
|
*
|
|
@@ -25,4 +27,7 @@ const BlendOption = {
|
|
|
25
27
|
*/
|
|
26
28
|
OPAQUE_AND_TRANSLUCENT: 2,
|
|
27
29
|
};
|
|
28
|
-
|
|
30
|
+
|
|
31
|
+
Object.freeze(BlendOption);
|
|
32
|
+
|
|
33
|
+
export default BlendOption;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
import BlendEquation from "./BlendEquation.js";
|
|
2
4
|
import BlendFunction from "./BlendFunction.js";
|
|
3
5
|
|
|
@@ -70,4 +72,7 @@ const BlendingState = {
|
|
|
70
72
|
functionDestinationAlpha: BlendFunction.ONE,
|
|
71
73
|
}),
|
|
72
74
|
};
|
|
73
|
-
|
|
75
|
+
|
|
76
|
+
Object.freeze(BlendingState);
|
|
77
|
+
|
|
78
|
+
export default BlendingState;
|
|
@@ -47,7 +47,6 @@ class BufferLoader extends ResourceLoader {
|
|
|
47
47
|
/**
|
|
48
48
|
* The cache key of the resource.
|
|
49
49
|
*
|
|
50
|
-
* @memberof BufferLoader.prototype
|
|
51
50
|
*
|
|
52
51
|
* @type {string}
|
|
53
52
|
* @readonly
|
|
@@ -60,7 +59,6 @@ class BufferLoader extends ResourceLoader {
|
|
|
60
59
|
/**
|
|
61
60
|
* The typed array containing the embedded buffer contents.
|
|
62
61
|
*
|
|
63
|
-
* @memberof BufferLoader.prototype
|
|
64
62
|
*
|
|
65
63
|
* @type {Uint8Array}
|
|
66
64
|
* @readonly
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
import BufferPrimitive from "./BufferPrimitive.js";
|
|
4
|
+
import Cartesian3 from "../Core/Cartesian3.js";
|
|
5
|
+
import assert from "../Core/assert.js";
|
|
6
|
+
import BufferPrimitiveCollection from "./BufferPrimitiveCollection.js";
|
|
7
|
+
|
|
8
|
+
/** @import BufferPointCollection from "./BufferPointCollection.js"; */
|
|
9
|
+
|
|
10
|
+
const { ERR_CAPACITY } = BufferPrimitiveCollection.Error;
|
|
11
|
+
|
|
12
|
+
const scratchCartesian = new Cartesian3();
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* View bound to the underlying buffer data of a {@link BufferPointCollection}.
|
|
16
|
+
*
|
|
17
|
+
* <p>BufferPoint instances are {@link https://en.wikipedia.org/wiki/Flyweight_pattern|flyweights}:
|
|
18
|
+
* a single BufferPoint instance can be temporarily bound to any conceptual
|
|
19
|
+
* "point" in a BufferPointCollection, allowing very large collections to be
|
|
20
|
+
* iterated and updated with a minimal memory footprint.</p>
|
|
21
|
+
*
|
|
22
|
+
* Represented as one (1) position.
|
|
23
|
+
*
|
|
24
|
+
* @see BufferPointCollection
|
|
25
|
+
* @see BufferPointMaterial
|
|
26
|
+
* @see BufferPrimitive
|
|
27
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
28
|
+
* @extends BufferPrimitive
|
|
29
|
+
*/
|
|
30
|
+
class BufferPoint extends BufferPrimitive {
|
|
31
|
+
/**
|
|
32
|
+
* @type {BufferPointCollection}
|
|
33
|
+
* @ignore
|
|
34
|
+
*/
|
|
35
|
+
_collection = null;
|
|
36
|
+
|
|
37
|
+
/** @ignore */
|
|
38
|
+
static Layout = {
|
|
39
|
+
...BufferPrimitive.Layout,
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Offset in position array to current point vertex, number of VEC3 elements.
|
|
43
|
+
* @type {number}
|
|
44
|
+
* @ignore
|
|
45
|
+
*/
|
|
46
|
+
POSITION_OFFSET_U32: BufferPrimitive.Layout.__BYTE_LENGTH,
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @type {number}
|
|
50
|
+
* @ignore
|
|
51
|
+
*/
|
|
52
|
+
__BYTE_LENGTH: BufferPrimitive.Layout.__BYTE_LENGTH + 4,
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
56
|
+
// LIFECYCLE
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Copies data from source point to result.
|
|
60
|
+
*
|
|
61
|
+
* @param {BufferPoint} point
|
|
62
|
+
* @param {BufferPoint} result
|
|
63
|
+
* @return {BufferPoint}
|
|
64
|
+
* @override
|
|
65
|
+
*/
|
|
66
|
+
static clone(point, result) {
|
|
67
|
+
super.clone(point, result);
|
|
68
|
+
result.setPosition(point.getPosition(scratchCartesian));
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
73
|
+
// GEOMETRY
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Offset in collection position array to position of this point, number
|
|
77
|
+
* of VEC3 elements.
|
|
78
|
+
*
|
|
79
|
+
* @type {number}
|
|
80
|
+
* @readonly
|
|
81
|
+
* @ignore
|
|
82
|
+
*/
|
|
83
|
+
get vertexOffset() {
|
|
84
|
+
return this._getUint32(BufferPoint.Layout.POSITION_OFFSET_U32);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Count of positions (vertices) in this primitive. Always 1.
|
|
89
|
+
*
|
|
90
|
+
* @type {number}
|
|
91
|
+
* @readonly
|
|
92
|
+
*/
|
|
93
|
+
get vertexCount() {
|
|
94
|
+
return 1;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Gets the position of this point.
|
|
99
|
+
*
|
|
100
|
+
* @param {Cartesian3} [result]
|
|
101
|
+
* @returns {Cartesian3}
|
|
102
|
+
*/
|
|
103
|
+
getPosition(result) {
|
|
104
|
+
const positionF64 = this._collection._positionView;
|
|
105
|
+
// @ts-expect-error TODO(tsd-jsdoc): See https://github.com/CesiumGS/cesium/pull/13302.
|
|
106
|
+
return Cartesian3.fromArray(positionF64, this.vertexOffset * 3, result);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Sets the position of this point.
|
|
111
|
+
*
|
|
112
|
+
* @param {Cartesian3} position
|
|
113
|
+
*/
|
|
114
|
+
setPosition(position) {
|
|
115
|
+
const collection = this._collection;
|
|
116
|
+
const vertexOffset = this.vertexOffset;
|
|
117
|
+
|
|
118
|
+
//>>includeStart('debug', pragmas.debug);
|
|
119
|
+
assert(vertexOffset < collection.vertexCountMax, ERR_CAPACITY);
|
|
120
|
+
//>>includeEnd('debug');
|
|
121
|
+
|
|
122
|
+
collection._positionView[vertexOffset * 3] = position.x;
|
|
123
|
+
collection._positionView[vertexOffset * 3 + 1] = position.y;
|
|
124
|
+
collection._positionView[vertexOffset * 3 + 2] = position.z;
|
|
125
|
+
|
|
126
|
+
collection._makeDirtyBoundingVolume();
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
130
|
+
// DEBUG
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Returns a JSON-serializable object representing the point. This encoding
|
|
134
|
+
* is not memory-efficient, and should generally be used for debugging and
|
|
135
|
+
* testing.
|
|
136
|
+
*
|
|
137
|
+
* @returns {Object} JSON-serializable object.
|
|
138
|
+
* @override
|
|
139
|
+
*/
|
|
140
|
+
toJSON() {
|
|
141
|
+
return {
|
|
142
|
+
...super.toJSON(),
|
|
143
|
+
position: Cartesian3.pack(this.getPosition(), []),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export default BufferPoint;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
import BufferPrimitiveCollection from "./BufferPrimitiveCollection.js";
|
|
4
|
+
import BufferPoint from "./BufferPoint.js";
|
|
5
|
+
import Cartesian3 from "../Core/Cartesian3.js";
|
|
6
|
+
import Frozen from "../Core/Frozen.js";
|
|
7
|
+
import renderPoints from "./renderBufferPointCollection.js";
|
|
8
|
+
import BufferPointMaterial from "./BufferPointMaterial.js";
|
|
9
|
+
|
|
10
|
+
/** @import Matrix4 from "../Core/Matrix4.js"; */
|
|
11
|
+
/** @import FrameState from "./FrameState.js"; */
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @typedef {object} BufferPointOptions
|
|
15
|
+
* @property {Matrix4} [modelMatrix=Matrix4.IDENTITY] Transforms geometry from model to world coordinates.
|
|
16
|
+
* @property {boolean} [show=true]
|
|
17
|
+
* @property {BufferPointMaterial} [material=BufferPointMaterial.DEFAULT_MATERIAL]
|
|
18
|
+
* @property {number} [featureId]
|
|
19
|
+
* @property {object} [pickObject]
|
|
20
|
+
* @property {Cartesian3} [position=Cartesian3.ZERO]
|
|
21
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Collection of points held in ArrayBuffer storage for performance and memory optimization.
|
|
26
|
+
*
|
|
27
|
+
* <p>Default buffer memory allocation is arbitrary, and collections cannot be resized,
|
|
28
|
+
* so specific per-buffer capacities should be provided in the collection
|
|
29
|
+
* constructor when available.</p>
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const collection = new BufferPointCollection({primitiveCountMax: 1024});
|
|
33
|
+
*
|
|
34
|
+
* const point = new BufferPoint();
|
|
35
|
+
* const material = new BufferPointMaterial({color: Color.WHITE});
|
|
36
|
+
*
|
|
37
|
+
* // Create a new point, temporarily bound to 'point' local variable.
|
|
38
|
+
* collection.add({
|
|
39
|
+
* position: new Cartesian3(0.0, 0.0, 0.0),
|
|
40
|
+
* material
|
|
41
|
+
* }, point);
|
|
42
|
+
*
|
|
43
|
+
* // Iterate over all points in collection, temporarily binding 'point'
|
|
44
|
+
* // local variable to each, and updating point material.
|
|
45
|
+
* for (let i = 0; i < collection.primitiveCount; i++) {
|
|
46
|
+
* collection.get(i, point);
|
|
47
|
+
* point.setMaterial(material);
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* @see BufferPoint
|
|
51
|
+
* @see BufferPrimitiveCollection
|
|
52
|
+
* @extends BufferPrimitiveCollection<BufferPoint>
|
|
53
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
54
|
+
*/
|
|
55
|
+
class BufferPointCollection extends BufferPrimitiveCollection {
|
|
56
|
+
/**
|
|
57
|
+
* @param {object} options
|
|
58
|
+
* @param {number} [options.primitiveCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY]
|
|
59
|
+
* @param {boolean} [options.show=true]
|
|
60
|
+
* @param {boolean} [options.debugShowBoundingVolume=false]
|
|
61
|
+
* @param {boolean} [options.allowPicking=false]
|
|
62
|
+
*/
|
|
63
|
+
constructor(options = Frozen.EMPTY_OBJECT) {
|
|
64
|
+
super({ ...options, vertexCountMax: options.primitiveCountMax });
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
_getCollectionClass() {
|
|
68
|
+
return BufferPointCollection;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
_getPrimitiveClass() {
|
|
72
|
+
return BufferPoint;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
_getMaterialClass() {
|
|
76
|
+
return BufferPointMaterial;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
80
|
+
// COLLECTION LIFECYCLE
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @param {BufferPointCollection} collection
|
|
84
|
+
* @returns {BufferPointCollection}
|
|
85
|
+
* @override
|
|
86
|
+
* @ignore
|
|
87
|
+
*/
|
|
88
|
+
static _cloneEmpty(collection) {
|
|
89
|
+
return new BufferPointCollection({
|
|
90
|
+
primitiveCountMax: collection.primitiveCountMax,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
95
|
+
// PRIMITIVE LIFECYCLE
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Adds a new point to the collection, with the specified options. A
|
|
99
|
+
* {@link BufferPoint} instance is linked to the new point, using
|
|
100
|
+
* the 'result' argument if given, or a new instance if not. For repeated
|
|
101
|
+
* calls, prefer to reuse a single BufferPoint instance rather than
|
|
102
|
+
* allocating a new instance on each call.
|
|
103
|
+
*
|
|
104
|
+
* @param {BufferPointOptions} options
|
|
105
|
+
* @param {BufferPoint} result
|
|
106
|
+
* @returns {BufferPoint}
|
|
107
|
+
* @override
|
|
108
|
+
*/
|
|
109
|
+
add(options, result = new BufferPoint()) {
|
|
110
|
+
super.add(options, result);
|
|
111
|
+
|
|
112
|
+
result._setUint32(
|
|
113
|
+
BufferPoint.Layout.POSITION_OFFSET_U32,
|
|
114
|
+
this._positionCount++,
|
|
115
|
+
);
|
|
116
|
+
result.setPosition(options.position ?? Cartesian3.ZERO);
|
|
117
|
+
|
|
118
|
+
return result;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
122
|
+
// RENDER
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* @param {FrameState} frameState
|
|
126
|
+
* @ignore
|
|
127
|
+
*/
|
|
128
|
+
update(frameState) {
|
|
129
|
+
super.update(frameState);
|
|
130
|
+
|
|
131
|
+
const passes = frameState.passes;
|
|
132
|
+
if (this.show && (passes.render || passes.pick)) {
|
|
133
|
+
this._renderContext = renderPoints(this, frameState, this._renderContext);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export default BufferPointCollection;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
import Frozen from "../Core/Frozen.js";
|
|
4
|
+
import BufferPrimitiveMaterial from "./BufferPrimitiveMaterial.js";
|
|
5
|
+
|
|
6
|
+
/** @import Color from "../Core/Color.js"; */
|
|
7
|
+
/** @import BufferPoint from "./BufferPoint.js"; */
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @typedef {object} BufferPointMaterialOptions
|
|
11
|
+
* @property {Color} [color=Color.WHITE] Color of fill.
|
|
12
|
+
* @property {Color} [outlineColor=Color.WHITE] Color of outline.
|
|
13
|
+
* @property {number} [outlineWidth=0.0] Width of outline, 0-255px.
|
|
14
|
+
* @property {number} [size=1.0] Size of point, 0-255px.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Material description for a {@link BufferPoint}.
|
|
19
|
+
*
|
|
20
|
+
* <p>BufferPointMaterial objects are {@link Packable|packable}, stored
|
|
21
|
+
* when calling {@link BufferPoint#setMaterial}. Subsequent changes to the
|
|
22
|
+
* material will not affect the point until setMaterial() is called again.</p>
|
|
23
|
+
*
|
|
24
|
+
* @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
|
|
25
|
+
* @extends BufferPrimitiveMaterial
|
|
26
|
+
*/
|
|
27
|
+
class BufferPointMaterial extends BufferPrimitiveMaterial {
|
|
28
|
+
/** @ignore */
|
|
29
|
+
static Layout = {
|
|
30
|
+
...BufferPrimitiveMaterial.Layout,
|
|
31
|
+
SIZE_U8: BufferPrimitiveMaterial.Layout.__BYTE_LENGTH,
|
|
32
|
+
__BYTE_LENGTH: BufferPrimitiveMaterial.Layout.__BYTE_LENGTH + 4,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @type {BufferPointMaterial}
|
|
37
|
+
* @ignore
|
|
38
|
+
*/
|
|
39
|
+
static DEFAULT_MATERIAL = Object.freeze(new BufferPointMaterial());
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @param {BufferPointMaterialOptions} [options]
|
|
43
|
+
*/
|
|
44
|
+
constructor(options = Frozen.EMPTY_OBJECT) {
|
|
45
|
+
super(options);
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Size of point, 0-255px.
|
|
49
|
+
* @type {number}
|
|
50
|
+
*/
|
|
51
|
+
this.size = options.size ?? 1;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @override
|
|
56
|
+
* @param {BufferPointMaterial} material
|
|
57
|
+
* @param {DataView} view
|
|
58
|
+
* @param {number} byteOffset
|
|
59
|
+
* @override
|
|
60
|
+
*/
|
|
61
|
+
static pack(material, view, byteOffset) {
|
|
62
|
+
super.pack(material, view, byteOffset);
|
|
63
|
+
view.setUint8(this.Layout.SIZE_U8 + byteOffset, material.size);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @override
|
|
68
|
+
* @param {DataView} view
|
|
69
|
+
* @param {number} byteOffset
|
|
70
|
+
* @param {BufferPointMaterial} result
|
|
71
|
+
* @returns {BufferPointMaterial}
|
|
72
|
+
* @override
|
|
73
|
+
*/
|
|
74
|
+
static unpack(view, byteOffset, result) {
|
|
75
|
+
super.unpack(view, byteOffset, result);
|
|
76
|
+
result.size = view.getUint8(this.Layout.SIZE_U8 + byteOffset);
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
81
|
+
// DEBUG
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Returns a JSON-serializable object representing the material. This encoding
|
|
85
|
+
* is not memory-efficient, and should generally be used for debugging and
|
|
86
|
+
* testing.
|
|
87
|
+
*
|
|
88
|
+
* @returns {Object} JSON-serializable object.
|
|
89
|
+
*/
|
|
90
|
+
toJSON() {
|
|
91
|
+
return { ...super.toJSON(), size: this.size };
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export default BufferPointMaterial;
|