@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,6 +1,10 @@
|
|
|
1
1
|
import Color from "../Core/Color.js";
|
|
2
2
|
import defined from "../Core/defined.js";
|
|
3
3
|
|
|
4
|
+
/** @import Cesium3DTileBatchTable from "./Cesium3DTileBatchTable.js"; */
|
|
5
|
+
/** @import Cesium3DTileContent from "./Cesium3DTileContent.js"; */
|
|
6
|
+
/** @import Cesium3DTileset from "./Cesium3DTileset.js"; */
|
|
7
|
+
|
|
4
8
|
/**
|
|
5
9
|
* A feature of a {@link Cesium3DTileset}.
|
|
6
10
|
* <p>
|
|
@@ -19,9 +23,6 @@ import defined from "../Core/defined.js";
|
|
|
19
23
|
* or picking using {@link Scene#pick}.
|
|
20
24
|
* </p>
|
|
21
25
|
*
|
|
22
|
-
* @alias Cesium3DTileFeature
|
|
23
|
-
* @constructor
|
|
24
|
-
*
|
|
25
26
|
* @example
|
|
26
27
|
* // On mouse over, display all the properties for a feature in the console log.
|
|
27
28
|
* handler.setInputAction(function(movement) {
|
|
@@ -36,409 +37,391 @@ import defined from "../Core/defined.js";
|
|
|
36
37
|
* }
|
|
37
38
|
* }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
|
|
38
39
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
class Cesium3DTileFeature {
|
|
41
|
+
/**
|
|
42
|
+
* @param {Cesium3DTileContent} content
|
|
43
|
+
* @param {number} batchId
|
|
44
|
+
*/
|
|
45
|
+
constructor(content, batchId) {
|
|
46
|
+
this._content = content;
|
|
47
|
+
this._batchId = batchId;
|
|
48
|
+
this._color = undefined; // for calling getColor
|
|
49
|
+
}
|
|
44
50
|
|
|
45
|
-
Object.defineProperties(Cesium3DTileFeature.prototype, {
|
|
46
51
|
/**
|
|
47
52
|
* Gets or sets if the feature will be shown. This is set for all features
|
|
48
53
|
* when a style's show is evaluated.
|
|
49
54
|
*
|
|
50
|
-
* @memberof Cesium3DTileFeature.prototype
|
|
51
|
-
*
|
|
52
55
|
* @type {boolean}
|
|
53
56
|
*
|
|
54
57
|
* @default true
|
|
55
58
|
*/
|
|
56
|
-
show
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
},
|
|
59
|
+
get show() {
|
|
60
|
+
return this._content.batchTable.getShow(this._batchId);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
set show(value) {
|
|
64
|
+
this._content.batchTable.setShow(this._batchId, value);
|
|
65
|
+
}
|
|
64
66
|
|
|
65
67
|
/**
|
|
66
68
|
* Gets or sets the highlight color multiplied with the feature's color. When
|
|
67
69
|
* this is white, the feature's color is not changed. This is set for all features
|
|
68
70
|
* when a style's color is evaluated.
|
|
69
71
|
*
|
|
70
|
-
* @memberof Cesium3DTileFeature.prototype
|
|
71
|
-
*
|
|
72
72
|
* @type {Color}
|
|
73
73
|
*
|
|
74
74
|
* @default {@link Color.WHITE}
|
|
75
75
|
*/
|
|
76
|
-
color
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
},
|
|
76
|
+
get color() {
|
|
77
|
+
if (!defined(this._color)) {
|
|
78
|
+
this._color = new Color();
|
|
79
|
+
}
|
|
80
|
+
return this._content.batchTable.getColor(this._batchId, this._color);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
set color(value) {
|
|
84
|
+
this._content.batchTable.setColor(this._batchId, value);
|
|
85
|
+
}
|
|
87
86
|
|
|
88
87
|
/**
|
|
89
88
|
* Gets a typed array containing the ECEF positions of the polyline.
|
|
90
89
|
* Returns undefined if {@link Cesium3DTileset#vectorKeepDecodedPositions} is false
|
|
91
90
|
* or the feature is not a polyline in a vector tile.
|
|
92
91
|
*
|
|
93
|
-
* @memberof Cesium3DTileFeature.prototype
|
|
94
|
-
*
|
|
95
92
|
* @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.
|
|
96
93
|
*
|
|
97
94
|
* @type {Float64Array}
|
|
98
95
|
*/
|
|
99
|
-
polylinePositions
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
96
|
+
get polylinePositions() {
|
|
97
|
+
if (!defined(this._content.getPolylinePositions)) {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
104
100
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
},
|
|
101
|
+
return this._content.getPolylinePositions(this._batchId);
|
|
102
|
+
}
|
|
108
103
|
|
|
109
104
|
/**
|
|
110
105
|
* Gets the content of the tile containing the feature.
|
|
111
106
|
*
|
|
112
|
-
* @memberof Cesium3DTileFeature.prototype
|
|
113
|
-
*
|
|
114
107
|
* @type {Cesium3DTileContent}
|
|
115
108
|
*
|
|
116
109
|
* @readonly
|
|
117
110
|
* @private
|
|
118
111
|
*/
|
|
119
|
-
content
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
},
|
|
123
|
-
},
|
|
112
|
+
get content() {
|
|
113
|
+
return this._content;
|
|
114
|
+
}
|
|
124
115
|
|
|
125
116
|
/**
|
|
126
117
|
* Gets the tileset containing the feature.
|
|
127
118
|
*
|
|
128
|
-
* @memberof Cesium3DTileFeature.prototype
|
|
129
|
-
*
|
|
130
119
|
* @type {Cesium3DTileset}
|
|
131
120
|
*
|
|
132
121
|
* @readonly
|
|
133
122
|
*/
|
|
134
|
-
tileset
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
},
|
|
138
|
-
},
|
|
123
|
+
get tileset() {
|
|
124
|
+
return this._content.tileset;
|
|
125
|
+
}
|
|
139
126
|
|
|
140
127
|
/**
|
|
141
128
|
* All objects returned by {@link Scene#pick} have a <code>primitive</code> property. This returns
|
|
142
129
|
* the tileset containing the feature.
|
|
143
130
|
*
|
|
144
|
-
* @memberof Cesium3DTileFeature.prototype
|
|
145
|
-
*
|
|
146
131
|
* @type {Cesium3DTileset}
|
|
147
132
|
*
|
|
148
133
|
* @readonly
|
|
149
134
|
*/
|
|
150
|
-
primitive
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
},
|
|
154
|
-
},
|
|
135
|
+
get primitive() {
|
|
136
|
+
return this._content.tileset;
|
|
137
|
+
}
|
|
155
138
|
|
|
156
139
|
/**
|
|
157
140
|
* Get the feature ID associated with this feature. For 3D Tiles 1.0, the
|
|
158
141
|
* batch ID is returned. For EXT_mesh_features, this is the feature ID from
|
|
159
142
|
* the selected feature ID set.
|
|
160
143
|
*
|
|
161
|
-
* @memberof Cesium3DTileFeature.prototype
|
|
162
|
-
*
|
|
163
144
|
* @type {number}
|
|
164
145
|
*
|
|
165
146
|
* @readonly
|
|
166
147
|
* @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.
|
|
167
148
|
*/
|
|
168
|
-
featureId
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
},
|
|
172
|
-
},
|
|
149
|
+
get featureId() {
|
|
150
|
+
return this._batchId;
|
|
151
|
+
}
|
|
173
152
|
|
|
174
153
|
/**
|
|
175
154
|
* @private
|
|
176
155
|
*/
|
|
177
|
-
pickId
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
|
-
});
|
|
156
|
+
get pickId() {
|
|
157
|
+
return this._content.batchTable.getPickColor(this._batchId);
|
|
158
|
+
}
|
|
183
159
|
|
|
184
|
-
/**
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
160
|
+
/**
|
|
161
|
+
* Returns whether the feature contains this property. This includes properties from this feature's
|
|
162
|
+
* class and inherited classes when using a batch table hierarchy.
|
|
163
|
+
*
|
|
164
|
+
* @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
|
|
165
|
+
*
|
|
166
|
+
* @param {string} name The case-sensitive name of the property.
|
|
167
|
+
* @returns {boolean} Whether the feature contains this property.
|
|
168
|
+
*/
|
|
169
|
+
hasProperty(name) {
|
|
170
|
+
return this._content.batchTable.hasProperty(this._batchId, name);
|
|
171
|
+
}
|
|
196
172
|
|
|
197
|
-
/**
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
173
|
+
/**
|
|
174
|
+
* Returns an array of property IDs for the feature. This includes properties from this feature's
|
|
175
|
+
* class and inherited classes when using a batch table hierarchy.
|
|
176
|
+
*
|
|
177
|
+
* @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
|
|
178
|
+
*
|
|
179
|
+
* @param {string[]} [results] An array into which to store the results.
|
|
180
|
+
* @returns {string[]} The IDs of the feature's properties.
|
|
181
|
+
*/
|
|
182
|
+
getPropertyIds(results) {
|
|
183
|
+
return this._content.batchTable.getPropertyIds(this._batchId, results);
|
|
184
|
+
}
|
|
209
185
|
|
|
210
|
-
/**
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
186
|
+
/**
|
|
187
|
+
* Returns a copy of the value of the feature's property with the given name. This includes properties from this feature's
|
|
188
|
+
* class and inherited classes when using a batch table hierarchy.
|
|
189
|
+
*
|
|
190
|
+
* @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
|
|
191
|
+
*
|
|
192
|
+
* @param {string} name The case-sensitive name of the property.
|
|
193
|
+
* @returns {*} The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* // Display all the properties for a feature in the console log.
|
|
197
|
+
* const propertyIds = feature.getPropertyIds();
|
|
198
|
+
* const length = propertyIds.length;
|
|
199
|
+
* for (let i = 0; i < length; ++i) {
|
|
200
|
+
* const propertyId = propertyIds[i];
|
|
201
|
+
* console.log(`{propertyId}: ${feature.getProperty(propertyId)}`);
|
|
202
|
+
* }
|
|
203
|
+
*/
|
|
204
|
+
getProperty(name) {
|
|
205
|
+
return this._content.batchTable.getProperty(this._batchId, name);
|
|
206
|
+
}
|
|
231
207
|
|
|
232
|
-
/**
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
*
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
208
|
+
/**
|
|
209
|
+
* Returns a copy of the feature's property with the given name, examining all
|
|
210
|
+
* the metadata from 3D Tiles 1.0 formats, the EXT_structural_metadata and legacy
|
|
211
|
+
* EXT_feature_metadata glTF extensions, and the metadata present either in the
|
|
212
|
+
* tileset JSON (3D Tiles 1.1) or in the 3DTILES_metadata 3D Tiles extension.
|
|
213
|
+
* Metadata is checked against name from most specific to most general and the
|
|
214
|
+
* first match is returned. Metadata is checked in this order:
|
|
215
|
+
*
|
|
216
|
+
* <ol>
|
|
217
|
+
* <li>Batch table (structural metadata) property by semantic</li>
|
|
218
|
+
* <li>Batch table (structural metadata) property by property ID</li>
|
|
219
|
+
* <li>Content metadata property by semantic</li>
|
|
220
|
+
* <li>Content metadata property by property</li>
|
|
221
|
+
* <li>Tile metadata property by semantic</li>
|
|
222
|
+
* <li>Tile metadata property by property ID</li>
|
|
223
|
+
* <li>Subtree metadata property by semantic</li>
|
|
224
|
+
* <li>Subtree metadata property by property ID</li>
|
|
225
|
+
* <li>Group metadata property by semantic</li>
|
|
226
|
+
* <li>Group metadata property by property ID</li>
|
|
227
|
+
* <li>Tileset metadata property by semantic</li>
|
|
228
|
+
* <li>Tileset metadata property by property ID</li>
|
|
229
|
+
* <li>Otherwise, return undefined</li>
|
|
230
|
+
* </ol>
|
|
231
|
+
* <p>
|
|
232
|
+
* For 3D Tiles Next details, see the {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_metadata|3DTILES_metadata Extension}
|
|
233
|
+
* for 3D Tiles, as well as the {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_structural_metadata|EXT_structural_metadata Extension}
|
|
234
|
+
* for glTF. For the legacy glTF extension, see {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_feature_metadata|EXT_feature_metadata Extension}
|
|
235
|
+
* </p>
|
|
236
|
+
*
|
|
237
|
+
* @param {Cesium3DTileContent} content The content for accessing the metadata
|
|
238
|
+
* @param {number} batchId The batch ID (or feature ID) of the feature to get a property for
|
|
239
|
+
* @param {string} name The semantic or property ID of the feature. Semantics are checked before property IDs in each granularity of metadata.
|
|
240
|
+
* @privateParam {Cesium3DTileBatchTable} [batchTable] Batch table in which to look up the feature property. If unspecified, `content.batchTable` is used.
|
|
241
|
+
* @return {*} The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
242
|
+
*
|
|
243
|
+
* @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.
|
|
244
|
+
*/
|
|
245
|
+
static getPropertyInherited(
|
|
246
|
+
content,
|
|
247
|
+
batchId,
|
|
248
|
+
name,
|
|
249
|
+
batchTable = content.batchTable,
|
|
250
|
+
) {
|
|
251
|
+
if (defined(batchTable)) {
|
|
252
|
+
if (batchTable.hasPropertyBySemantic(batchId, name)) {
|
|
253
|
+
return batchTable.getPropertyBySemantic(batchId, name);
|
|
254
|
+
}
|
|
274
255
|
|
|
275
|
-
|
|
276
|
-
|
|
256
|
+
if (batchTable.hasProperty(batchId, name)) {
|
|
257
|
+
return batchTable.getProperty(batchId, name);
|
|
258
|
+
}
|
|
277
259
|
}
|
|
278
|
-
}
|
|
279
260
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
261
|
+
const contentMetadata = content.metadata;
|
|
262
|
+
if (defined(contentMetadata)) {
|
|
263
|
+
if (contentMetadata.hasPropertyBySemantic(name)) {
|
|
264
|
+
return contentMetadata.getPropertyBySemantic(name);
|
|
265
|
+
}
|
|
285
266
|
|
|
286
|
-
|
|
287
|
-
|
|
267
|
+
if (contentMetadata.hasProperty(name)) {
|
|
268
|
+
return contentMetadata.getProperty(name);
|
|
269
|
+
}
|
|
288
270
|
}
|
|
289
|
-
}
|
|
290
271
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
272
|
+
const tile = content.tile;
|
|
273
|
+
const tileMetadata = tile.metadata;
|
|
274
|
+
if (defined(tileMetadata)) {
|
|
275
|
+
if (tileMetadata.hasPropertyBySemantic(name)) {
|
|
276
|
+
return tileMetadata.getPropertyBySemantic(name);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
if (tileMetadata.hasProperty(name)) {
|
|
280
|
+
return tileMetadata.getProperty(name);
|
|
281
|
+
}
|
|
296
282
|
}
|
|
297
283
|
|
|
298
|
-
|
|
299
|
-
|
|
284
|
+
let subtreeMetadata;
|
|
285
|
+
if (defined(tile.implicitSubtree)) {
|
|
286
|
+
subtreeMetadata = tile.implicitSubtree.metadata;
|
|
300
287
|
}
|
|
301
|
-
}
|
|
302
288
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
289
|
+
if (defined(subtreeMetadata)) {
|
|
290
|
+
if (subtreeMetadata.hasPropertyBySemantic(name)) {
|
|
291
|
+
return subtreeMetadata.getPropertyBySemantic(name);
|
|
292
|
+
}
|
|
307
293
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
294
|
+
if (subtreeMetadata.hasProperty(name)) {
|
|
295
|
+
return subtreeMetadata.getProperty(name);
|
|
296
|
+
}
|
|
311
297
|
}
|
|
312
298
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
299
|
+
const groupMetadata = defined(content.group)
|
|
300
|
+
? content.group.metadata
|
|
301
|
+
: undefined;
|
|
302
|
+
if (defined(groupMetadata)) {
|
|
303
|
+
if (groupMetadata.hasPropertyBySemantic(name)) {
|
|
304
|
+
return groupMetadata.getPropertyBySemantic(name);
|
|
305
|
+
}
|
|
317
306
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
if (defined(groupMetadata)) {
|
|
322
|
-
if (groupMetadata.hasPropertyBySemantic(name)) {
|
|
323
|
-
return groupMetadata.getPropertyBySemantic(name);
|
|
307
|
+
if (groupMetadata.hasProperty(name)) {
|
|
308
|
+
return groupMetadata.getProperty(name);
|
|
309
|
+
}
|
|
324
310
|
}
|
|
325
311
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
312
|
+
const tilesetMetadata = content.tileset.metadata;
|
|
313
|
+
if (defined(tilesetMetadata)) {
|
|
314
|
+
if (tilesetMetadata.hasPropertyBySemantic(name)) {
|
|
315
|
+
return tilesetMetadata.getPropertyBySemantic(name);
|
|
316
|
+
}
|
|
330
317
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
return tilesetMetadata.getPropertyBySemantic(name);
|
|
318
|
+
if (tilesetMetadata.hasProperty(name)) {
|
|
319
|
+
return tilesetMetadata.getProperty(name);
|
|
320
|
+
}
|
|
335
321
|
}
|
|
336
322
|
|
|
337
|
-
|
|
338
|
-
return tilesetMetadata.getProperty(name);
|
|
339
|
-
}
|
|
323
|
+
return undefined;
|
|
340
324
|
}
|
|
341
325
|
|
|
342
|
-
|
|
343
|
-
|
|
326
|
+
/**
|
|
327
|
+
* Returns a copy of the value of the feature's property with the given name.
|
|
328
|
+
* If the feature is contained within a tileset that has metadata (3D Tiles 1.1)
|
|
329
|
+
* or uses the <code>3DTILES_metadata</code> extension, tileset, group and tile
|
|
330
|
+
* metadata is inherited.
|
|
331
|
+
* <p>
|
|
332
|
+
* To resolve name conflicts, this method resolves names from most specific to
|
|
333
|
+
* least specific by metadata granularity in the order: feature, tile, group,
|
|
334
|
+
* tileset. Within each granularity, semantics are resolved first, then other
|
|
335
|
+
* properties.
|
|
336
|
+
* </p>
|
|
337
|
+
* @param {string} name The case-sensitive name of the property.
|
|
338
|
+
* @returns {*} The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
339
|
+
* @private
|
|
340
|
+
*/
|
|
341
|
+
getPropertyInherited(name) {
|
|
342
|
+
return Cesium3DTileFeature.getPropertyInherited(
|
|
343
|
+
this._content,
|
|
344
|
+
this._batchId,
|
|
345
|
+
name,
|
|
346
|
+
);
|
|
347
|
+
}
|
|
344
348
|
|
|
345
|
-
/**
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
}
|
|
349
|
+
/**
|
|
350
|
+
* Sets the value of the feature's property with the given name.
|
|
351
|
+
* <p>
|
|
352
|
+
* If a property with the given name doesn't exist, it is created.
|
|
353
|
+
* </p>
|
|
354
|
+
*
|
|
355
|
+
* @param {string} name The case-sensitive name of the property.
|
|
356
|
+
* @param {*} value The value of the property that will be copied.
|
|
357
|
+
*
|
|
358
|
+
* @exception {DeveloperError} Inherited batch table hierarchy property is read only.
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* const height = feature.getProperty('Height'); // e.g., the height of a building
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
* const name = 'clicked';
|
|
365
|
+
* if (feature.getProperty(name)) {
|
|
366
|
+
* console.log('already clicked');
|
|
367
|
+
* } else {
|
|
368
|
+
* feature.setProperty(name, true);
|
|
369
|
+
* console.log('first click');
|
|
370
|
+
* }
|
|
371
|
+
*/
|
|
372
|
+
setProperty(name, value) {
|
|
373
|
+
this._content.batchTable.setProperty(this._batchId, name, value);
|
|
367
374
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
*
|
|
374
|
-
* @param {string} name The case-sensitive name of the property.
|
|
375
|
-
* @param {*} value The value of the property that will be copied.
|
|
376
|
-
*
|
|
377
|
-
* @exception {DeveloperError} Inherited batch table hierarchy property is read only.
|
|
378
|
-
*
|
|
379
|
-
* @example
|
|
380
|
-
* const height = feature.getProperty('Height'); // e.g., the height of a building
|
|
381
|
-
*
|
|
382
|
-
* @example
|
|
383
|
-
* const name = 'clicked';
|
|
384
|
-
* if (feature.getProperty(name)) {
|
|
385
|
-
* console.log('already clicked');
|
|
386
|
-
* } else {
|
|
387
|
-
* feature.setProperty(name, true);
|
|
388
|
-
* console.log('first click');
|
|
389
|
-
* }
|
|
390
|
-
*/
|
|
391
|
-
Cesium3DTileFeature.prototype.setProperty = function (name, value) {
|
|
392
|
-
this._content.batchTable.setProperty(this._batchId, name, value);
|
|
375
|
+
// PERFORMANCE_IDEA: Probably overkill, but maybe only mark the tile dirty if the
|
|
376
|
+
// property is in one of the style's expressions or - if it can be done quickly -
|
|
377
|
+
// if the new property value changed the result of an expression.
|
|
378
|
+
this._content.featurePropertiesDirty = true;
|
|
379
|
+
}
|
|
393
380
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
381
|
+
/**
|
|
382
|
+
* Returns whether the feature's class name equals <code>className</code>. Unlike {@link Cesium3DTileFeature#isClass}
|
|
383
|
+
* this function only checks the feature's exact class and not inherited classes.
|
|
384
|
+
* <p>
|
|
385
|
+
* This function returns <code>false</code> if no batch table hierarchy is present.
|
|
386
|
+
* </p>
|
|
387
|
+
*
|
|
388
|
+
* @param {string} className The name to check against.
|
|
389
|
+
* @returns {boolean} Whether the feature's class name equals <code>className</code>
|
|
390
|
+
*
|
|
391
|
+
* @private
|
|
392
|
+
*/
|
|
393
|
+
isExactClass(className) {
|
|
394
|
+
return this._content.batchTable.isExactClass(this._batchId, className);
|
|
395
|
+
}
|
|
399
396
|
|
|
400
|
-
/**
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
};
|
|
397
|
+
/**
|
|
398
|
+
* Returns whether the feature's class or any inherited classes are named <code>className</code>.
|
|
399
|
+
* <p>
|
|
400
|
+
* This function returns <code>false</code> if no batch table hierarchy is present.
|
|
401
|
+
* </p>
|
|
402
|
+
*
|
|
403
|
+
* @param {string} className The name to check against.
|
|
404
|
+
* @returns {boolean} Whether the feature's class or inherited classes are named <code>className</code>
|
|
405
|
+
*
|
|
406
|
+
* @private
|
|
407
|
+
*/
|
|
408
|
+
isClass(className) {
|
|
409
|
+
return this._content.batchTable.isClass(this._batchId, className);
|
|
410
|
+
}
|
|
415
411
|
|
|
416
|
-
/**
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
}
|
|
412
|
+
/**
|
|
413
|
+
* Returns the feature's class name.
|
|
414
|
+
* <p>
|
|
415
|
+
* This function returns <code>undefined</code> if no batch table hierarchy is present.
|
|
416
|
+
* </p>
|
|
417
|
+
*
|
|
418
|
+
* @returns {string} The feature's class name.
|
|
419
|
+
*
|
|
420
|
+
* @private
|
|
421
|
+
*/
|
|
422
|
+
getExactClassName() {
|
|
423
|
+
return this._content.batchTable.getExactClassName(this._batchId);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
430
426
|
|
|
431
|
-
/**
|
|
432
|
-
* Returns the feature's class name.
|
|
433
|
-
* <p>
|
|
434
|
-
* This function returns <code>undefined</code> if no batch table hierarchy is present.
|
|
435
|
-
* </p>
|
|
436
|
-
*
|
|
437
|
-
* @returns {string} The feature's class name.
|
|
438
|
-
*
|
|
439
|
-
* @private
|
|
440
|
-
*/
|
|
441
|
-
Cesium3DTileFeature.prototype.getExactClassName = function () {
|
|
442
|
-
return this._content.batchTable.getExactClassName(this._batchId);
|
|
443
|
-
};
|
|
444
427
|
export default Cesium3DTileFeature;
|