@cesium/engine 24.0.0 → 26.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-6WLHJFD3.js → chunk-3VFEWOBI.js} +59 -32
- package/Build/Workers/{chunk-UQU4RXLT.js → chunk-424RNO3D.js} +50 -45
- package/Build/Workers/chunk-4MGMYHOO.js +147 -0
- package/Build/Workers/{chunk-AMIHNSST.js → chunk-4S7IE3LB.js} +2 -2
- package/Build/Workers/{chunk-J6AW5YHS.js → chunk-52JDLOEM.js} +14 -14
- package/Build/Workers/{chunk-6RMS4S72.js → chunk-54I6Y66F.js} +6 -6
- package/Build/Workers/{chunk-C6P4IG5P.js → chunk-6YEE6JDR.js} +6 -6
- package/Build/Workers/{chunk-72VYSVEW.js → chunk-7J2HKPRH.js} +11 -10
- package/Build/Workers/{chunk-7O5XJTVE.js → chunk-7WM2PX4V.js} +5 -5
- package/Build/Workers/{chunk-5A2SW66E.js → chunk-ACXQXN46.js} +16 -16
- package/Build/Workers/{chunk-VLDEUTOP.js → chunk-AYKR4VBR.js} +2 -2
- package/Build/Workers/{chunk-YQFTYQMZ.js → chunk-C6J67V5A.js} +3 -2
- package/Build/Workers/{chunk-D4EJ2NXG.js → chunk-C6KNZ7T4.js} +17 -17
- package/Build/Workers/{chunk-7MDYBRYJ.js → chunk-CFQP6LYM.js} +4 -4
- package/Build/Workers/{chunk-YAOZMOFL.js → chunk-CXOYE2WM.js} +5 -5
- package/Build/Workers/{chunk-B6SCUUFP.js → chunk-CZEYZU4N.js} +10 -10
- package/Build/Workers/{chunk-NPF7SSHZ.js → chunk-DBOEKL43.js} +7 -7
- package/Build/Workers/{chunk-44EMEGKW.js → chunk-DDWSZVMY.js} +5 -5
- package/Build/Workers/{chunk-7X322WP2.js → chunk-DOBXCNC3.js} +13 -13
- package/Build/Workers/{chunk-JCI63T3K.js → chunk-E7VQ76KE.js} +6 -6
- package/Build/Workers/{chunk-7TYLCBGK.js → chunk-EBSIOBXY.js} +12 -10
- package/Build/Workers/{chunk-GQUNK2XC.js → chunk-EF2QYXGA.js} +14 -14
- package/Build/Workers/{chunk-BJD6QGXZ.js → chunk-EPYXRCDB.js} +12 -12
- package/Build/Workers/{chunk-63SIWPLS.js → chunk-F6QDY6HU.js} +13 -13
- package/Build/Workers/{chunk-XY6HMDGI.js → chunk-FRQZECAO.js} +5 -5
- package/Build/Workers/{chunk-VMVOUQ5J.js → chunk-G7PXZRVF.js} +7 -7
- package/Build/Workers/{chunk-N65BAKSH.js → chunk-INUEEEQA.js} +8 -8
- package/Build/Workers/{chunk-7QRFIKWQ.js → chunk-IRBKFCEJ.js} +2 -2
- package/Build/Workers/{chunk-UIGVOKKI.js → chunk-IYOUHCZB.js} +3 -2
- package/Build/Workers/{chunk-5GXYJQ2K.js → chunk-J6BWOHUF.js} +3 -3
- package/Build/Workers/{chunk-A47HVBC5.js → chunk-KFSTQKNM.js} +7 -7
- package/Build/Workers/{chunk-EV3VGO6Y.js → chunk-KKOSKAZB.js} +17 -17
- package/Build/Workers/{chunk-6MPGQEHA.js → chunk-KSSWJIZW.js} +2 -2
- package/Build/Workers/{chunk-DHKPFLSJ.js → chunk-M3B5JKSM.js} +3 -2
- package/Build/Workers/chunk-MPZHGZU6.js +2342 -0
- package/Build/Workers/{chunk-YJZGW74L.js → chunk-MYP774IS.js} +2213 -1349
- package/Build/Workers/{chunk-LIB2H534.js → chunk-O3EA5HS7.js} +12 -11
- package/Build/Workers/{chunk-ILMFADZA.js → chunk-P3CK7MCY.js} +27 -5
- package/Build/Workers/chunk-Q3PY526V.js +3201 -0
- package/Build/Workers/chunk-QN67VG36.js +973 -0
- package/Build/Workers/{chunk-XJRBB253.js → chunk-QRWGUWI6.js} +11 -11
- package/Build/Workers/{chunk-AF3MU2RL.js → chunk-S4MCOY6I.js} +7 -6
- package/Build/Workers/{chunk-Y7HNNPNK.js → chunk-SMQZZOW6.js} +10 -10
- package/Build/Workers/{chunk-PVV64VFW.js → chunk-TKKIREQ6.js} +3 -2
- package/Build/Workers/{chunk-MKM27KGV.js → chunk-U3ZA64U7.js} +2 -2
- package/Build/Workers/{chunk-2N4KDHS3.js → chunk-UA25D5MX.js} +12 -11
- package/Build/Workers/{chunk-RQNJD3O4.js → chunk-UOOIQ3KX.js} +12 -12
- package/Build/Workers/{chunk-GOQBUCXH.js → chunk-V7VQKN6N.js} +709 -431
- package/Build/Workers/{chunk-LXMCPFFS.js → chunk-VQYETPWC.js} +4 -4
- package/Build/Workers/{chunk-NKT5K3K3.js → chunk-VWV2IJRB.js} +13 -12
- package/Build/Workers/chunk-XZMBNNDX.js +1287 -0
- package/Build/Workers/{chunk-ISY4EZCA.js → chunk-Y57HREW5.js} +4 -4
- package/Build/Workers/{chunk-EDXL4W76.js → chunk-Y5BF6AFU.js} +2 -2
- package/Build/Workers/{chunk-Q3C6VQH6.js → chunk-YLY7NKAB.js} +4 -4
- package/Build/Workers/{chunk-4TIG36AW.js → chunk-ZK3CF7ZD.js} +12 -12
- package/Build/Workers/{chunk-AJLTU6PF.js → chunk-ZP7JMQV4.js} +4 -1
- package/Build/Workers/{chunk-HXJMS2ZI.js → chunk-ZZ46LWL6.js} +1 -1
- 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 +24 -24
- package/Build/Workers/createWallOutlineGeometry.js +23 -23
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +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 +1 -1
- package/Source/Core/Cartesian3.js +2 -3
- package/Source/Core/Cartesian4.js +1 -1
- 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 +844 -835
- package/Source/Core/ComponentDatatype.js +39 -1
- package/Source/Core/CornerType.js +6 -1
- package/Source/Core/Credit.js +121 -124
- 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/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 +40 -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/Resource.js +1 -1
- package/Source/Core/ScreenSpaceEventHandler.js +51 -41
- package/Source/Core/ScreenSpaceEventType.js +6 -1
- 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/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/createColorRamp.js +37 -0
- package/Source/Core/globalTypes.js +25 -0
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +1 -0
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -0
- 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 +10 -3
- package/Source/Renderer/PickId.js +44 -0
- package/Source/Renderer/PixelDatatype.js +3 -1
- 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/createUniform.js +346 -239
- package/Source/Renderer/createUniformArray.js +494 -381
- 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/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 +1 -0
- package/Source/Scene/BufferPointCollection.js +17 -1
- package/Source/Scene/BufferPolygon.js +3 -2
- package/Source/Scene/BufferPolygonCollection.js +13 -1
- package/Source/Scene/BufferPolyline.js +1 -0
- package/Source/Scene/BufferPolylineCollection.js +5 -1
- package/Source/Scene/BufferPrimitiveCollection.js +210 -43
- package/Source/Scene/CameraEventAggregator.js +30 -18
- package/Source/Scene/CameraEventType.js +6 -1
- package/Source/Scene/Cesium3DTile.js +54 -1
- package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
- package/Source/Scene/Cesium3DTileContent.js +195 -254
- package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
- 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/Cesium3DTileVectorFeature.js +586 -0
- package/Source/Scene/Cesium3DTileset.js +46 -6
- package/Source/Scene/ClassificationType.js +3 -1
- package/Source/Scene/CloudType.js +3 -1
- package/Source/Scene/ColorBlendMode.js +4 -1
- package/Source/Scene/Composite3DTileContent.js +254 -292
- package/Source/Scene/CullFace.js +6 -1
- package/Source/Scene/DepthFunction.js +6 -1
- package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
- package/Source/Scene/EdgeDisplayMode.js +50 -0
- package/Source/Scene/Empty3DTileContent.js +100 -132
- package/Source/Scene/EquirectangularPanorama.js +1 -0
- package/Source/Scene/ExpressionNodeType.js +6 -1
- package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
- package/Source/Scene/GeoJsonPrimitive.js +874 -0
- package/Source/Scene/Geometry3DTileContent.js +151 -185
- 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 +109 -5
- package/Source/Scene/GltfLoaderUtil.js +14 -0
- package/Source/Scene/GltfSpzLoader.js +0 -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/ImageryProvider.js +1 -1
- package/Source/Scene/ImageryState.js +6 -1
- package/Source/Scene/Implicit3DTileContent.js +179 -214
- 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/LabelStyle.js +6 -1
- package/Source/Scene/MVTDataProvider.js +147 -0
- package/Source/Scene/MapMode2D.js +6 -1
- package/Source/Scene/MetadataComponentType.js +3 -1
- 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/CustomShaderTranslucencyMode.js +5 -1
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +78 -337
- 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 +184 -3
- package/Source/Scene/Model/Model.js +34 -0
- package/Source/Scene/Model/Model3DTileContent.js +424 -458
- package/Source/Scene/Model/ModelDrawCommand.js +31 -3
- package/Source/Scene/Model/ModelReader.js +474 -3
- package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
- package/Source/Scene/Model/ModelType.js +3 -1
- package/Source/Scene/Model/ModelUtility.js +4 -0
- 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 +500 -139
- 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 +47 -2
- package/Source/Scene/Multiple3DTileContent.js +291 -334
- 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/Scene.js +26 -0
- package/Source/Scene/SceneMode.js +4 -1
- package/Source/Scene/ShadowMode.js +3 -1
- package/Source/Scene/SkyBox.js +1 -1
- 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/TileState.js +7 -1
- package/Source/Scene/Tileset3DTileContent.js +113 -146
- package/Source/Scene/Tonemapper.js +5 -1
- package/Source/Scene/UrlTemplate3DTilesDataProvider.js +499 -0
- package/Source/Scene/Vector3DTileContent.js +205 -234
- package/Source/Scene/VectorGltf3DTileContent.js +131 -61
- package/Source/Scene/VertexAttributeSemantic.js +3 -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/VoxelPrimitive.js +159 -175
- package/Source/Scene/VoxelProvider.js +64 -90
- package/Source/Scene/VoxelShapeType.js +3 -1
- package/Source/Scene/buildVectorGltfFromMVT.js +1059 -0
- package/Source/Scene/buildVoxelCustomShader.js +199 -0
- package/Source/Scene/decodeMVT.js +634 -0
- package/Source/Scene/renderBufferPointCollection.js +124 -127
- package/Source/Scene/renderBufferPolygonCollection.js +122 -122
- package/Source/Scene/renderBufferPolylineCollection.js +386 -238
- package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
- package/Source/Shaders/BufferPointMaterialFS.js +1 -0
- package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
- package/Source/Shaders/BufferPointMaterialVS.js +20 -10
- package/Source/Shaders/BufferPolygonMaterialVS.glsl +13 -4
- package/Source/Shaders/BufferPolygonMaterialVS.js +14 -5
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
- package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
- package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
- package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
- package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
- package/Source/Shaders/Builtin/CzmBuiltins.js +4 -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/EdgeVisibilityStageVS.glsl +0 -1
- package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
- package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
- package/Source/Shaders/Model/MaterialStageFS.js +46 -20
- 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/index.d.ts +595 -343
- package/index.js +392 -378
- package/package.json +3 -3
- package/Build/Workers/chunk-DVB56LG7.js +0 -114
- package/Build/Workers/chunk-HKUES6UG.js +0 -2357
- package/Build/Workers/chunk-HRHRYFHS.js +0 -940
- package/Build/Workers/chunk-KLPGTXS3.js +0 -642
- package/Build/Workers/chunk-ZBZRTRJB.js +0 -1829
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* The refinement approach for a tile.
|
|
3
5
|
* <p>
|
|
@@ -26,4 +28,7 @@ const Cesium3DTileRefine = {
|
|
|
26
28
|
*/
|
|
27
29
|
REPLACE: 1,
|
|
28
30
|
};
|
|
29
|
-
|
|
31
|
+
|
|
32
|
+
Object.freeze(Cesium3DTileRefine);
|
|
33
|
+
|
|
34
|
+
export default Cesium3DTileRefine;
|
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
import DeveloperError from "../Core/DeveloperError.js";
|
|
4
|
+
import BufferPoint from "./BufferPoint.js";
|
|
5
|
+
import BufferPointCollection from "./BufferPointCollection.js";
|
|
6
|
+
import BufferPointMaterial from "./BufferPointMaterial.js";
|
|
7
|
+
import BufferPolygon from "./BufferPolygon.js";
|
|
8
|
+
import BufferPolygonCollection from "./BufferPolygonCollection.js";
|
|
9
|
+
import BufferPolygonMaterial from "./BufferPolygonMaterial.js";
|
|
10
|
+
import BufferPolyline from "./BufferPolyline.js";
|
|
11
|
+
import BufferPolylineCollection from "./BufferPolylineCollection.js";
|
|
12
|
+
import BufferPolylineMaterial from "./BufferPolylineMaterial.js";
|
|
13
|
+
import Cesium3DTileFeature from "./Cesium3DTileFeature.js";
|
|
14
|
+
import Color from "../Core/Color.js";
|
|
15
|
+
import defined from "../Core/defined.js";
|
|
16
|
+
|
|
17
|
+
/** @import BufferPrimitive from "./BufferPrimitive.js"; */
|
|
18
|
+
/** @import BufferPrimitiveMaterial from "./BufferPrimitiveMaterial.js"; */
|
|
19
|
+
/** @import Cesium3DTileBatchTable from "./Cesium3DTileBatchTable.js"; */
|
|
20
|
+
/** @import Cesium3DTileContent from "./Cesium3DTileContent.js"; */
|
|
21
|
+
/** @import Cesium3DTileset from "./Cesium3DTileset.js"; */
|
|
22
|
+
/** @import VectorGltf3DTileContent from "./VectorGltf3DTileContent.js"; */
|
|
23
|
+
|
|
24
|
+
const point = new BufferPoint();
|
|
25
|
+
const polyline = new BufferPolyline();
|
|
26
|
+
const polygon = new BufferPolygon();
|
|
27
|
+
|
|
28
|
+
const pointMaterial = new BufferPointMaterial();
|
|
29
|
+
const polylineMaterial = new BufferPolylineMaterial();
|
|
30
|
+
const polygonMaterial = new BufferPolygonMaterial();
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A vector feature of a {@link Cesium3DTileset}.
|
|
34
|
+
* <p>
|
|
35
|
+
* Provides access to a feature's properties stored in the tile's batch table, as well
|
|
36
|
+
* as the ability to show/hide and style the feature
|
|
37
|
+
* </p>
|
|
38
|
+
* <p>
|
|
39
|
+
* Modifications to a <code>Cesium3DTileVectorFeature</code> object have the lifetime of the tile's
|
|
40
|
+
* content. If the tile's content is unloaded, e.g., due to it going out of view and needing
|
|
41
|
+
* to free space in the cache for visible tiles, listen to the {@link Cesium3DTileset#tileUnload} event to save any
|
|
42
|
+
* modifications. Also listen to the {@link Cesium3DTileset#tileVisible} event to reapply any modifications.
|
|
43
|
+
* </p>
|
|
44
|
+
* <p>
|
|
45
|
+
* Do not construct this directly. Access it through {@link Cesium3DTileContent#getFeature}
|
|
46
|
+
* or picking using {@link Scene#pick} and {@link Scene#pickPosition}.
|
|
47
|
+
* </p>
|
|
48
|
+
*
|
|
49
|
+
* @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.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* // On mouse over, display all the properties for a feature in the console log.
|
|
53
|
+
* handler.setInputAction(function(movement) {
|
|
54
|
+
* const feature = scene.pick(movement.endPosition);
|
|
55
|
+
* if (feature instanceof Cesium.Cesium3DTileVectorFeature) {
|
|
56
|
+
* const propertyIds = feature.getPropertyIds();
|
|
57
|
+
* const length = propertyIds.length;
|
|
58
|
+
* for (let i = 0; i < length; ++i) {
|
|
59
|
+
* const propertyId = propertyIds[i];
|
|
60
|
+
* console.log(`{propertyId}: ${feature.getProperty(propertyId)}`);
|
|
61
|
+
* }
|
|
62
|
+
* }
|
|
63
|
+
* }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
|
|
64
|
+
*
|
|
65
|
+
* @ignore
|
|
66
|
+
*/
|
|
67
|
+
class Cesium3DTileVectorFeature {
|
|
68
|
+
/** @private */
|
|
69
|
+
_color = new Color();
|
|
70
|
+
|
|
71
|
+
/** @private */
|
|
72
|
+
_outlineColor = new Color();
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* @param {VectorGltf3DTileContent} content
|
|
76
|
+
* @param {number} batchId
|
|
77
|
+
* @param {number} [batchTableId=0]
|
|
78
|
+
*/
|
|
79
|
+
constructor(content, batchId, batchTableId = 0) {
|
|
80
|
+
this._content = content;
|
|
81
|
+
this._batchId = batchId;
|
|
82
|
+
this._batchTableId = batchTableId;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* For each collection index N, this map returns the indices of all
|
|
86
|
+
* primitive in the collection associated with this feature.
|
|
87
|
+
* @type {Map<number, number[]>}
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
this._primitivesByCollection = new Map();
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @param {number} collectionIndex
|
|
95
|
+
* @param {number} primitiveIndex
|
|
96
|
+
*/
|
|
97
|
+
addPrimitiveByCollection(collectionIndex, primitiveIndex) {
|
|
98
|
+
let primitiveIndices = this._primitivesByCollection.get(collectionIndex);
|
|
99
|
+
if (!primitiveIndices) {
|
|
100
|
+
primitiveIndices = [];
|
|
101
|
+
this._primitivesByCollection.set(collectionIndex, primitiveIndices);
|
|
102
|
+
}
|
|
103
|
+
primitiveIndices.push(primitiveIndex);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* @type {boolean}
|
|
108
|
+
* @default true
|
|
109
|
+
*/
|
|
110
|
+
get show() {
|
|
111
|
+
for (const prim of this._iteratePrimitives()) {
|
|
112
|
+
if (prim.show) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
set show(value) {
|
|
120
|
+
for (const prim of this._iteratePrimitives()) {
|
|
121
|
+
prim.show = value;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* @type {Color}
|
|
127
|
+
* @default Color.WHITE
|
|
128
|
+
*/
|
|
129
|
+
get color() {
|
|
130
|
+
for (const material of this._iterateMaterials()) {
|
|
131
|
+
return Color.clone(material.color, this._color);
|
|
132
|
+
}
|
|
133
|
+
return Color.clone(Color.WHITE, this._color);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
set color(value) {
|
|
137
|
+
for (const material of this._iterateMaterials()) {
|
|
138
|
+
Color.clone(value, material.color);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* @type {number}
|
|
144
|
+
* @default 1
|
|
145
|
+
*/
|
|
146
|
+
get pointSize() {
|
|
147
|
+
for (const material of this._iteratePointMaterials()) {
|
|
148
|
+
return material.size;
|
|
149
|
+
}
|
|
150
|
+
return 1;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
set pointSize(value) {
|
|
154
|
+
for (const material of this._iteratePointMaterials()) {
|
|
155
|
+
material.size = value;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* @type {Color}
|
|
161
|
+
* @default Color.WHITE
|
|
162
|
+
*/
|
|
163
|
+
get pointOutlineColor() {
|
|
164
|
+
for (const material of this._iteratePointMaterials()) {
|
|
165
|
+
return Color.clone(material.outlineColor, this._outlineColor);
|
|
166
|
+
}
|
|
167
|
+
return Color.clone(Color.WHITE, this._outlineColor);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
set pointOutlineColor(value) {
|
|
171
|
+
for (const material of this._iteratePointMaterials()) {
|
|
172
|
+
Color.clone(value, material.outlineColor);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* @type {number}
|
|
178
|
+
* @default 0
|
|
179
|
+
*/
|
|
180
|
+
get pointOutlineWidth() {
|
|
181
|
+
for (const material of this._iteratePointMaterials()) {
|
|
182
|
+
return material.outlineWidth;
|
|
183
|
+
}
|
|
184
|
+
return 0;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
set pointOutlineWidth(value) {
|
|
188
|
+
for (const material of this._iteratePointMaterials()) {
|
|
189
|
+
material.outlineWidth = value;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @type {number}
|
|
195
|
+
* @default 1
|
|
196
|
+
*/
|
|
197
|
+
get lineWidth() {
|
|
198
|
+
for (const material of this._iteratePolylineMaterials()) {
|
|
199
|
+
return material.width;
|
|
200
|
+
}
|
|
201
|
+
return 1;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
set lineWidth(value) {
|
|
205
|
+
for (const material of this._iteratePolylineMaterials()) {
|
|
206
|
+
material.width = value;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @type {Color}
|
|
212
|
+
* @default Color.WHITE
|
|
213
|
+
*/
|
|
214
|
+
get lineOutlineColor() {
|
|
215
|
+
for (const material of this._iteratePolylineMaterials()) {
|
|
216
|
+
return Color.clone(material.outlineColor, this._outlineColor);
|
|
217
|
+
}
|
|
218
|
+
return Color.clone(Color.WHITE, this._outlineColor);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
set lineOutlineColor(value) {
|
|
222
|
+
for (const material of this._iteratePolylineMaterials()) {
|
|
223
|
+
Color.clone(value, material.outlineColor);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* @type {number}
|
|
229
|
+
* @default 0
|
|
230
|
+
*/
|
|
231
|
+
get lineOutlineWidth() {
|
|
232
|
+
for (const material of this._iteratePolylineMaterials()) {
|
|
233
|
+
return material.outlineWidth;
|
|
234
|
+
}
|
|
235
|
+
return 0;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
set lineOutlineWidth(value) {
|
|
239
|
+
for (const material of this._iteratePolylineMaterials()) {
|
|
240
|
+
material.outlineWidth = value;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* @type {Color}
|
|
246
|
+
* @default Color.WHITE
|
|
247
|
+
*/
|
|
248
|
+
get polygonOutlineColor() {
|
|
249
|
+
for (const material of this._iteratePolygonMaterials()) {
|
|
250
|
+
return Color.clone(material.outlineColor, this._outlineColor);
|
|
251
|
+
}
|
|
252
|
+
return Color.clone(Color.WHITE, this._outlineColor);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
set polygonOutlineColor(value) {
|
|
256
|
+
for (const material of this._iteratePolygonMaterials()) {
|
|
257
|
+
Color.clone(value, material.outlineColor);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* @type {number}
|
|
263
|
+
* @default 0
|
|
264
|
+
*/
|
|
265
|
+
get polygonOutlineWidth() {
|
|
266
|
+
for (const material of this._iteratePolygonMaterials()) {
|
|
267
|
+
return material.outlineWidth;
|
|
268
|
+
}
|
|
269
|
+
return 0;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
set polygonOutlineWidth(value) {
|
|
273
|
+
for (const material of this._iteratePolygonMaterials()) {
|
|
274
|
+
material.outlineWidth = value;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Gets the content of the tile containing the feature.
|
|
280
|
+
*
|
|
281
|
+
* @type {VectorGltf3DTileContent}
|
|
282
|
+
*
|
|
283
|
+
* @ignore
|
|
284
|
+
*/
|
|
285
|
+
get content() {
|
|
286
|
+
return this._content;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Gets the tileset containing the feature.
|
|
291
|
+
*
|
|
292
|
+
* @type {Cesium3DTileset}
|
|
293
|
+
*/
|
|
294
|
+
get tileset() {
|
|
295
|
+
return this._content.tileset;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* All objects returned by {@link Scene#pick} have a <code>primitive</code> property. This returns
|
|
300
|
+
* the tileset containing the feature.
|
|
301
|
+
*
|
|
302
|
+
* @type {Cesium3DTileset}
|
|
303
|
+
*/
|
|
304
|
+
get primitive() {
|
|
305
|
+
return this._content.tileset;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Get the feature ID associated with this feature. Using EXT_mesh_features,
|
|
310
|
+
* this is the feature ID from the selected feature ID set.
|
|
311
|
+
*
|
|
312
|
+
* @type {number}
|
|
313
|
+
*
|
|
314
|
+
* @readonly
|
|
315
|
+
*/
|
|
316
|
+
get featureId() {
|
|
317
|
+
return this._batchId;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* @type {Cesium3DTileBatchTable|undefined}
|
|
322
|
+
* @private
|
|
323
|
+
*/
|
|
324
|
+
get _batchTable() {
|
|
325
|
+
return this._content.batchTables[this._batchTableId];
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* @type {number[]}
|
|
330
|
+
* @ignore
|
|
331
|
+
*/
|
|
332
|
+
get pickIds() {
|
|
333
|
+
const pickIds = [];
|
|
334
|
+
for (const prim of this._iteratePrimitives()) {
|
|
335
|
+
pickIds.push(prim._pickId);
|
|
336
|
+
}
|
|
337
|
+
return pickIds;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Returns whether the feature contains this property. This includes properties from this feature's
|
|
342
|
+
* class and inherited classes when using a batch table hierarchy.
|
|
343
|
+
*
|
|
344
|
+
* @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
|
|
345
|
+
*
|
|
346
|
+
* @param {string} name The case-sensitive name of the property.
|
|
347
|
+
* @returns {boolean} Whether the feature contains this property.
|
|
348
|
+
*/
|
|
349
|
+
hasProperty(name) {
|
|
350
|
+
if (!defined(this._batchTable)) {
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
return this._batchTable.hasProperty(this._batchId, name);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Returns an array of property IDs for the feature. This includes properties from this feature's
|
|
358
|
+
* class and inherited classes when using a batch table hierarchy.
|
|
359
|
+
*
|
|
360
|
+
* @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
|
|
361
|
+
*
|
|
362
|
+
* @param {string[]} [results] An array into which to store the results.
|
|
363
|
+
* @returns {string[]} The IDs of the feature's properties.
|
|
364
|
+
*/
|
|
365
|
+
getPropertyIds(results) {
|
|
366
|
+
if (!defined(this._batchTable)) {
|
|
367
|
+
return [];
|
|
368
|
+
}
|
|
369
|
+
return this._batchTable.getPropertyIds(this._batchId, results);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Returns a copy of the value of the feature's property with the given name. This includes properties from this feature's
|
|
374
|
+
* class and inherited classes when using a batch table hierarchy.
|
|
375
|
+
*
|
|
376
|
+
* @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_batch_table_hierarchy}
|
|
377
|
+
*
|
|
378
|
+
* @param {string} name The case-sensitive name of the property.
|
|
379
|
+
* @returns {*} The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* // Display all the properties for a feature in the console log.
|
|
383
|
+
* const propertyIds = feature.getPropertyIds();
|
|
384
|
+
* const length = propertyIds.length;
|
|
385
|
+
* for (let i = 0; i < length; ++i) {
|
|
386
|
+
* const propertyId = propertyIds[i];
|
|
387
|
+
* console.log(`{propertyId} : ${feature.getProperty(propertyId)}`);
|
|
388
|
+
* }
|
|
389
|
+
*/
|
|
390
|
+
getProperty(name) {
|
|
391
|
+
if (!defined(this._batchTable)) {
|
|
392
|
+
return undefined;
|
|
393
|
+
}
|
|
394
|
+
return this._batchTable.getProperty(this._batchId, name);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
/**
|
|
398
|
+
* Returns a copy of the value of the feature's property with the given name.
|
|
399
|
+
* If the feature is contained within a tileset that has metadata (3D Tiles 1.1)
|
|
400
|
+
* or uses the <code>3DTILES_metadata</code> extension, tileset, group and tile metadata is
|
|
401
|
+
* inherited.
|
|
402
|
+
* <p>
|
|
403
|
+
* To resolve name conflicts, this method resolves names from most specific to
|
|
404
|
+
* least specific by metadata granularity in the order: feature, tile, group,
|
|
405
|
+
* tileset. Within each granularity, semantics are resolved first, then other
|
|
406
|
+
* properties.
|
|
407
|
+
* </p>
|
|
408
|
+
* @param {string} name The case-sensitive name of the property.
|
|
409
|
+
* @returns {*} The value of the property or <code>undefined</code> if the feature does not have this property.
|
|
410
|
+
* @private
|
|
411
|
+
* @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.
|
|
412
|
+
*/
|
|
413
|
+
getPropertyInherited(name) {
|
|
414
|
+
return Cesium3DTileFeature.getPropertyInherited(
|
|
415
|
+
// @ts-expect-error Requires type checking in Cesium3DTileContent.
|
|
416
|
+
this._content,
|
|
417
|
+
this._batchId,
|
|
418
|
+
name,
|
|
419
|
+
this._batchTable,
|
|
420
|
+
);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Sets the value of the feature's property with the given name.
|
|
425
|
+
* <p>
|
|
426
|
+
* If a property with the given name doesn't exist, it is created.
|
|
427
|
+
* </p>
|
|
428
|
+
*
|
|
429
|
+
* @param {string} name The case-sensitive name of the property.
|
|
430
|
+
* @param {*} value The value of the property that will be copied.
|
|
431
|
+
*
|
|
432
|
+
* @exception {DeveloperError} Inherited batch table hierarchy property is read only.
|
|
433
|
+
*
|
|
434
|
+
* @example
|
|
435
|
+
* const height = feature.getProperty('Height'); // e.g., the height of a building
|
|
436
|
+
*
|
|
437
|
+
* @example
|
|
438
|
+
* const name = 'clicked';
|
|
439
|
+
* if (feature.getProperty(name)) {
|
|
440
|
+
* console.log('already clicked');
|
|
441
|
+
* } else {
|
|
442
|
+
* feature.setProperty(name, true);
|
|
443
|
+
* console.log('first click');
|
|
444
|
+
* }
|
|
445
|
+
*/
|
|
446
|
+
setProperty(name, value) {
|
|
447
|
+
throw new DeveloperError("Not implemented");
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* Returns whether the feature's class name equals <code>className</code>. Unlike {@link Cesium3DTileVectorFeature#isClass}
|
|
452
|
+
* this function only checks the feature's exact class and not inherited classes.
|
|
453
|
+
* <p>
|
|
454
|
+
* This function returns <code>false</code> if no batch table hierarchy is present.
|
|
455
|
+
* </p>
|
|
456
|
+
*
|
|
457
|
+
* @param {string} className The name to check against.
|
|
458
|
+
* @returns {boolean} Whether the feature's class name equals <code>className</code>
|
|
459
|
+
*
|
|
460
|
+
* @private
|
|
461
|
+
*/
|
|
462
|
+
isExactClass(className) {
|
|
463
|
+
if (!defined(this._batchTable)) {
|
|
464
|
+
return false;
|
|
465
|
+
}
|
|
466
|
+
return this._batchTable.isExactClass(this._batchId, className);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* Returns whether the feature's class or any inherited classes are named <code>className</code>.
|
|
471
|
+
* <p>
|
|
472
|
+
* This function returns <code>false</code> if no batch table hierarchy is present.
|
|
473
|
+
* </p>
|
|
474
|
+
*
|
|
475
|
+
* @param {string} className The name to check against.
|
|
476
|
+
* @returns {boolean} Whether the feature's class or inherited classes are named <code>className</code>
|
|
477
|
+
*
|
|
478
|
+
* @private
|
|
479
|
+
*/
|
|
480
|
+
isClass(className) {
|
|
481
|
+
if (!defined(this._batchTable)) {
|
|
482
|
+
return false;
|
|
483
|
+
}
|
|
484
|
+
return this._batchTable.isClass(this._batchId, className);
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Returns the feature's class name.
|
|
489
|
+
* <p>
|
|
490
|
+
* This function returns <code>undefined</code> if no batch table hierarchy is present.
|
|
491
|
+
* </p>
|
|
492
|
+
*
|
|
493
|
+
* @returns {string} The feature's class name.
|
|
494
|
+
*
|
|
495
|
+
* @private
|
|
496
|
+
*/
|
|
497
|
+
getExactClassName() {
|
|
498
|
+
if (!defined(this._batchTable)) {
|
|
499
|
+
return undefined;
|
|
500
|
+
}
|
|
501
|
+
return this._batchTable.getExactClassName(this._batchId);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/////////////////////////////////////////////////////////////////////////////
|
|
505
|
+
// INTERNAL ITERATORS
|
|
506
|
+
|
|
507
|
+
/**
|
|
508
|
+
* @returns {Iterable<BufferPrimitive>}
|
|
509
|
+
*/
|
|
510
|
+
*_iteratePrimitives() {
|
|
511
|
+
yield* this._iteratePrimitivesWith(BufferPointCollection, point);
|
|
512
|
+
yield* this._iteratePrimitivesWith(BufferPolylineCollection, polyline);
|
|
513
|
+
yield* this._iteratePrimitivesWith(BufferPolygonCollection, polygon);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* @param {*} CollectionType
|
|
518
|
+
* @param {BufferPrimitive} result
|
|
519
|
+
* @returns {Iterable<BufferPrimitive>}
|
|
520
|
+
*/
|
|
521
|
+
*_iteratePrimitivesWith(CollectionType, result) {
|
|
522
|
+
const collections = this._content._collections;
|
|
523
|
+
for (let i = 0; i < collections.length; i++) {
|
|
524
|
+
const collection = collections[i];
|
|
525
|
+
const primitiveIndices = this._primitivesByCollection.get(i);
|
|
526
|
+
if (primitiveIndices && collection instanceof CollectionType) {
|
|
527
|
+
for (const primitiveIndex of primitiveIndices) {
|
|
528
|
+
collection.get(primitiveIndex, result);
|
|
529
|
+
yield result;
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
/** @returns {Iterable<BufferPrimitiveMaterial>} */
|
|
536
|
+
*_iterateMaterials() {
|
|
537
|
+
yield* this._iteratePointMaterials();
|
|
538
|
+
yield* this._iteratePolylineMaterials();
|
|
539
|
+
yield* this._iteratePolygonMaterials();
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
/** @returns {Iterable<BufferPointMaterial>} */
|
|
543
|
+
*_iteratePointMaterials() {
|
|
544
|
+
yield* /** @type {Iterable<BufferPointMaterial>} */ (
|
|
545
|
+
this._iterateMaterialsWith(BufferPointCollection, point, pointMaterial)
|
|
546
|
+
);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
/** @returns {Iterable<BufferPolylineMaterial>} */
|
|
550
|
+
*_iteratePolylineMaterials() {
|
|
551
|
+
yield* /** @type {Iterable<BufferPolylineMaterial>} */ (
|
|
552
|
+
this._iterateMaterialsWith(
|
|
553
|
+
BufferPolylineCollection,
|
|
554
|
+
polyline,
|
|
555
|
+
polylineMaterial,
|
|
556
|
+
)
|
|
557
|
+
);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
/** @returns {Iterable<BufferPolygonMaterial>} */
|
|
561
|
+
*_iteratePolygonMaterials() {
|
|
562
|
+
yield* /** @type {Iterable<BufferPolygonMaterial>} */ (
|
|
563
|
+
this._iterateMaterialsWith(
|
|
564
|
+
BufferPolygonCollection,
|
|
565
|
+
polygon,
|
|
566
|
+
polygonMaterial,
|
|
567
|
+
)
|
|
568
|
+
);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* @param {*} CollectionType
|
|
573
|
+
* @param {BufferPrimitive} primitive
|
|
574
|
+
* @param {BufferPrimitiveMaterial} result
|
|
575
|
+
* @returns {Iterable<BufferPrimitiveMaterial>}
|
|
576
|
+
*/
|
|
577
|
+
*_iterateMaterialsWith(CollectionType, primitive, result) {
|
|
578
|
+
for (const prim of this._iteratePrimitivesWith(CollectionType, primitive)) {
|
|
579
|
+
prim.getMaterial(result);
|
|
580
|
+
yield result;
|
|
581
|
+
prim.setMaterial(result);
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
export default Cesium3DTileVectorFeature;
|