@cesium/engine 14.0.0 → 16.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-WVNLSTOF.js → chunk-2TQ64T4I.js} +2 -2
- package/Build/Workers/{chunk-ED6GLQTK.js → chunk-34EWMUFG.js} +1 -1
- package/Build/Workers/{chunk-HEZHXDYB.js → chunk-4LHK6E47.js} +1 -1
- package/Build/Workers/{chunk-7EO56M5R.js → chunk-5TN3LG2T.js} +2 -2
- package/Build/Workers/{chunk-7ZB2RVIQ.js → chunk-6B7KGA5P.js} +16 -19
- package/Build/Workers/{chunk-3QLSKXKF.js → chunk-B75OO2DU.js} +7 -10
- package/Build/Workers/{chunk-Q4ZVWJXX.js → chunk-COOLDICB.js} +9 -11
- package/Build/Workers/{chunk-3PIZQT3I.js → chunk-CQNYYX3N.js} +4 -4
- package/Build/Workers/{chunk-JPDKYBLF.js → chunk-CUJH7PS5.js} +27 -29
- package/Build/Workers/{chunk-CI2HEJFC.js → chunk-EAWYQ44R.js} +39 -41
- package/Build/Workers/{chunk-SDIDRZDG.js → chunk-EJJDBH5W.js} +7 -7
- package/Build/Workers/{chunk-5KWRW7YL.js → chunk-EO44CO62.js} +2 -2
- package/Build/Workers/{chunk-N2XAJBC6.js → chunk-EOIUWEAK.js} +26 -28
- package/Build/Workers/{chunk-YJX7X577.js → chunk-ERKJ7IWJ.js} +21 -23
- package/Build/Workers/{chunk-J7IH4EYI.js → chunk-ESED7XBA.js} +13 -16
- package/Build/Workers/{chunk-F4CUH4MR.js → chunk-FW2OX42E.js} +18 -21
- package/Build/Workers/{chunk-FX4R4MTH.js → chunk-GH6I7PBY.js} +6 -9
- package/Build/Workers/{chunk-FYGLNDKG.js → chunk-GQVSADCI.js} +19 -22
- package/Build/Workers/{chunk-TY4DKOWR.js → chunk-ICU72UPR.js} +4 -4
- package/Build/Workers/{chunk-DT5NFR5C.js → chunk-ILVAXLMC.js} +7 -7
- package/Build/Workers/{chunk-ZGFIT57T.js → chunk-KKV6XBF5.js} +27 -23
- package/Build/Workers/{chunk-HKHQ3EDR.js → chunk-KV6TEHXY.js} +4 -4
- package/Build/Workers/{chunk-B4GSRXE3.js → chunk-LCSH4ZOB.js} +7 -10
- package/Build/Workers/{chunk-LNSWJ43X.js → chunk-M5J3S3HY.js} +17 -26
- package/Build/Workers/{chunk-LJBJM6VI.js → chunk-NB6D74SQ.js} +6 -6
- package/Build/Workers/{chunk-4CHMVQTQ.js → chunk-NREPBWCX.js} +14 -14
- package/Build/Workers/{chunk-PWF4EY5P.js → chunk-OD4Q7HE5.js} +4 -4
- package/Build/Workers/{chunk-77XPS7ZA.js → chunk-OMFZ4IN6.js} +15 -24
- package/Build/Workers/{chunk-HUFQVUMY.js → chunk-OMZGZVHI.js} +12 -17
- package/Build/Workers/{chunk-LOZ4NKY3.js → chunk-ORIMMEHO.js} +18 -20
- package/Build/Workers/{chunk-5S5OOA6U.js → chunk-OWLBD6BL.js} +1 -1
- package/Build/Workers/{chunk-VCNOFQYH.js → chunk-PB6SE3SZ.js} +9 -12
- package/Build/Workers/{chunk-3JBEPBPL.js → chunk-PT6U7UNY.js} +25 -30
- package/Build/Workers/{chunk-G3BVMPWG.js → chunk-RWAFHSX3.js} +2 -2
- package/Build/Workers/{chunk-KHWLAQVA.js → chunk-S2NKKWYE.js} +1 -1
- package/Build/Workers/{chunk-FFBJDW4A.js → chunk-S3IQBSIB.js} +6 -6
- package/Build/Workers/{chunk-3LYROPON.js → chunk-SCUQTTCN.js} +16 -19
- package/Build/Workers/{chunk-ZMNLEL6W.js → chunk-TBSA4MNF.js} +5 -8
- package/Build/Workers/{chunk-EWDGNOJE.js → chunk-TEUGW455.js} +9 -12
- package/Build/Workers/{chunk-XK4OP6VA.js → chunk-TL5YKZJF.js} +33 -41
- package/Build/Workers/{chunk-KM6MITPF.js → chunk-V4Y7C25O.js} +46 -42
- package/Build/Workers/{chunk-OMXHEJTK.js → chunk-VNDECE6N.js} +2 -2
- package/Build/Workers/{chunk-LS3KVHYY.js → chunk-VVTAI2TN.js} +6 -9
- package/Build/Workers/{chunk-WEHZP4SE.js → chunk-VXAAIRJ7.js} +129 -146
- package/Build/Workers/{chunk-MVM4JV5U.js → chunk-WGIOUM2S.js} +9 -12
- package/Build/Workers/{chunk-JHBPC4LK.js → chunk-XF6EBVKV.js} +7 -7
- package/Build/Workers/{chunk-D7ZBZPHV.js → chunk-XMKE4XB2.js} +5 -5
- package/Build/Workers/{chunk-7UHKH6M3.js → chunk-YA4XALD5.js} +34 -36
- package/Build/Workers/{chunk-KSYBJA4M.js → chunk-YFXXUW6U.js} +6 -12
- package/Build/Workers/{chunk-Z3QWTHI7.js → chunk-YL26OJCG.js} +21 -23
- package/Build/Workers/{chunk-K4AH3TDT.js → chunk-ZLJDDRGB.js} +14 -17
- package/Build/Workers/combineGeometry.js +21 -22
- package/Build/Workers/createBoxGeometry.js +15 -16
- package/Build/Workers/createBoxOutlineGeometry.js +20 -25
- package/Build/Workers/createCircleGeometry.js +26 -28
- package/Build/Workers/createCircleOutlineGeometry.js +19 -21
- package/Build/Workers/createCoplanarPolygonGeometry.js +38 -42
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +34 -36
- package/Build/Workers/createCorridorGeometry.js +42 -49
- package/Build/Workers/createCorridorOutlineGeometry.js +36 -43
- package/Build/Workers/createCylinderGeometry.js +17 -18
- package/Build/Workers/createCylinderOutlineGeometry.js +23 -25
- package/Build/Workers/createEllipseGeometry.js +23 -24
- package/Build/Workers/createEllipseOutlineGeometry.js +16 -17
- package/Build/Workers/createEllipsoidGeometry.js +16 -17
- package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -16
- package/Build/Workers/createFrustumGeometry.js +15 -16
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -21
- package/Build/Workers/createGeometry.js +22 -25
- package/Build/Workers/createGroundPolylineGeometry.js +34 -42
- package/Build/Workers/createPlaneGeometry.js +19 -21
- package/Build/Workers/createPlaneOutlineGeometry.js +12 -13
- package/Build/Workers/createPolygonGeometry.js +45 -50
- package/Build/Workers/createPolygonOutlineGeometry.js +39 -44
- package/Build/Workers/createPolylineGeometry.js +33 -40
- package/Build/Workers/createPolylineVolumeGeometry.js +37 -44
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -39
- package/Build/Workers/createRectangleGeometry.js +41 -51
- package/Build/Workers/createRectangleOutlineGeometry.js +28 -33
- package/Build/Workers/createSimplePolylineGeometry.js +29 -34
- package/Build/Workers/createSphereGeometry.js +17 -20
- package/Build/Workers/createSphereOutlineGeometry.js +16 -19
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +12 -13
- package/Build/Workers/createVectorTileGeometries.js +21 -22
- package/Build/Workers/createVectorTilePoints.js +11 -12
- package/Build/Workers/createVectorTilePolygons.js +19 -20
- package/Build/Workers/createVectorTilePolylines.js +12 -13
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -23
- package/Build/Workers/createVerticesFromHeightmap.js +31 -58
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -18
- package/Build/Workers/createWallGeometry.js +30 -35
- package/Build/Workers/createWallOutlineGeometry.js +28 -33
- package/Build/Workers/decodeDraco.js +10 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -16
- package/Build/Workers/transcodeKTX2.js +50 -46
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -20
- package/Source/Core/ApproximateTerrainHeights.js +2 -3
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +6 -6
- package/Source/Core/AxisAlignedBoundingBox.js +2 -3
- package/Source/Core/BingMapsGeocoderService.js +2 -2
- package/Source/Core/BoundingRectangle.js +7 -8
- package/Source/Core/BoundingSphere.js +10 -11
- package/Source/Core/BoxGeometry.js +7 -7
- package/Source/Core/BoxOutlineGeometry.js +7 -9
- package/Source/Core/Cartesian2.js +4 -5
- package/Source/Core/Cartesian3.js +7 -8
- package/Source/Core/Cartesian4.js +6 -7
- package/Source/Core/Cartographic.js +5 -6
- package/Source/Core/CatmullRomSpline.js +2 -2
- package/Source/Core/CesiumTerrainProvider.js +11 -14
- package/Source/Core/CircleGeometry.js +2 -2
- package/Source/Core/CircleOutlineGeometry.js +2 -2
- package/Source/Core/Clock.js +7 -10
- package/Source/Core/Color.js +28 -28
- package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
- package/Source/Core/ComponentDatatype.js +4 -6
- package/Source/Core/CoplanarPolygonGeometry.js +8 -10
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
- package/Source/Core/CorridorGeometry.js +15 -20
- package/Source/Core/CorridorOutlineGeometry.js +10 -15
- package/Source/Core/Credit.js +1 -2
- package/Source/Core/CullingVolume.js +1 -2
- package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
- package/Source/Core/CylinderGeometry.js +7 -7
- package/Source/Core/CylinderOutlineGeometry.js +7 -7
- package/Source/Core/DistanceDisplayCondition.js +4 -5
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
- package/Source/Core/EarthOrientationParameters.js +4 -4
- package/Source/Core/EllipseGeometry.js +17 -23
- package/Source/Core/EllipseOutlineGeometry.js +12 -15
- package/Source/Core/Ellipsoid.js +7 -8
- package/Source/Core/EllipsoidGeodesic.js +1 -2
- package/Source/Core/EllipsoidGeometry.js +15 -15
- package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
- package/Source/Core/EllipsoidRhumbLine.js +3 -4
- package/Source/Core/EllipsoidTangentPlane.js +1 -2
- package/Source/Core/EllipsoidTerrainProvider.js +4 -4
- package/Source/Core/EllipsoidalOccluder.js +2 -3
- package/Source/Core/FeatureDetection.js +1 -2
- package/Source/Core/Frozen.js +24 -0
- package/Source/Core/FrustumGeometry.js +7 -8
- package/Source/Core/FrustumOutlineGeometry.js +3 -4
- package/Source/Core/GeographicProjection.js +1 -2
- package/Source/Core/GeographicTilingScheme.js +6 -12
- package/Source/Core/Geometry.js +4 -7
- package/Source/Core/GeometryAttribute.js +3 -3
- package/Source/Core/GeometryAttributes.js +2 -2
- package/Source/Core/GeometryInstance.js +4 -6
- package/Source/Core/GeometryInstanceAttribute.js +3 -3
- package/Source/Core/GeometryPipeline.js +3 -4
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
- package/Source/Core/GoogleGeocoderService.js +2 -2
- package/Source/Core/GregorianDate.js +8 -9
- package/Source/Core/GroundPolylineGeometry.js +8 -8
- package/Source/Core/HeadingPitchRange.js +3 -4
- package/Source/Core/HeadingPitchRoll.js +3 -4
- package/Source/Core/Heap.js +3 -4
- package/Source/Core/HeightmapTerrainData.js +22 -38
- package/Source/Core/HeightmapTessellator.js +21 -37
- package/Source/Core/HermitePolynomialApproximation.js +1 -2
- package/Source/Core/HermiteSpline.js +5 -5
- package/Source/Core/ITwinPlatform.js +66 -12
- package/Source/Core/Iau2006XysData.js +8 -10
- package/Source/Core/IntersectionTests.js +1 -2
- package/Source/Core/Interval.js +2 -4
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +6 -10
- package/Source/Core/IonResource.js +6 -6
- package/Source/Core/JulianDate.js +11 -12
- package/Source/Core/LinearSpline.js +2 -2
- package/Source/Core/ManagedArray.js +2 -3
- package/Source/Core/Math.js +36 -27
- package/Source/Core/Matrix2.js +7 -8
- package/Source/Core/Matrix3.js +12 -13
- package/Source/Core/Matrix4.js +28 -28
- package/Source/Core/MorphWeightSpline.js +2 -2
- package/Source/Core/NearFarScalar.js +6 -7
- package/Source/Core/Occluder.js +1 -2
- package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
- package/Source/Core/OpenCageGeocoderService.js +1 -2
- package/Source/Core/OrientedBoundingBox.js +7 -8
- package/Source/Core/OrthographicFrustum.js +6 -6
- package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
- package/Source/Core/PerspectiveFrustum.js +8 -8
- package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
- package/Source/Core/PlaneGeometry.js +5 -5
- package/Source/Core/PolygonGeometry.js +16 -19
- package/Source/Core/PolygonGeometryLibrary.js +27 -6
- package/Source/Core/PolygonOutlineGeometry.js +11 -14
- package/Source/Core/PolygonPipeline.js +5 -6
- package/Source/Core/PolylineGeometry.js +10 -15
- package/Source/Core/PolylinePipeline.js +7 -14
- package/Source/Core/PolylineVolumeGeometry.js +8 -13
- package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
- package/Source/Core/QuantizedMeshTerrainData.js +12 -16
- package/Source/Core/Quaternion.js +7 -8
- package/Source/Core/QuaternionSpline.js +2 -2
- package/Source/Core/Ray.js +2 -3
- package/Source/Core/Rectangle.js +18 -19
- package/Source/Core/RectangleGeometry.js +17 -25
- package/Source/Core/RectangleGeometryLibrary.js +1 -1
- package/Source/Core/RectangleOutlineGeometry.js +10 -13
- package/Source/Core/Request.js +6 -6
- package/Source/Core/RequestScheduler.js +4 -6
- package/Source/Core/Resource.js +13 -16
- package/Source/Core/S2Cell.js +2 -3
- package/Source/Core/ScreenSpaceEventHandler.js +1 -2
- package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
- package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
- package/Source/Core/SimplePolylineGeometry.js +8 -11
- package/Source/Core/SphereGeometry.js +1 -2
- package/Source/Core/SphereOutlineGeometry.js +1 -2
- package/Source/Core/Spherical.js +4 -5
- package/Source/Core/Spline.js +1 -2
- package/Source/Core/SteppedSpline.js +2 -2
- package/Source/Core/TaskProcessor.js +2 -9
- package/Source/Core/TerrainData.js +1 -1
- package/Source/Core/TerrainEncoding.js +4 -11
- package/Source/Core/TerrainMesh.js +1 -3
- package/Source/Core/TerrainProvider.js +1 -1
- package/Source/Core/TexturePacker.js +166 -0
- package/Source/Core/TileProviderError.js +1 -2
- package/Source/Core/TimeInterval.js +7 -7
- package/Source/Core/TimeIntervalCollection.js +7 -7
- package/Source/Core/Tipsify.js +5 -5
- package/Source/Core/Transforms.js +10 -15
- package/Source/Core/TranslationRotationScale.js +3 -6
- package/Source/Core/VRTheWorldTerrainProvider.js +5 -5
- package/Source/Core/VertexFormat.js +10 -10
- package/Source/Core/VerticalExaggeration.js +1 -1
- package/Source/Core/VideoSynchronizer.js +6 -6
- package/Source/Core/WallGeometry.js +8 -11
- package/Source/Core/WallOutlineGeometry.js +7 -10
- package/Source/Core/WebMercatorProjection.js +1 -2
- package/Source/Core/WebMercatorTilingScheme.js +5 -11
- package/Source/Core/arrayRemoveDuplicates.js +1 -2
- package/Source/Core/clone.js +1 -3
- package/Source/Core/combine.js +1 -2
- package/Source/Core/createWorldBathymetryAsync.js +3 -3
- package/Source/Core/createWorldTerrainAsync.js +4 -4
- package/Source/Core/defaultValue.js +20 -1
- package/Source/Core/destroyObject.js +1 -5
- package/Source/Core/getAbsoluteUri.js +1 -2
- package/Source/Core/getMagic.js +1 -2
- package/Source/Core/getStringFromTypedArray.js +2 -3
- package/Source/Core/loadImageFromTypedArray.js +2 -6
- package/Source/Core/oneTimeWarning.js +1 -2
- package/Source/Core/writeTextToCanvas.js +10 -13
- package/Source/DataSources/BillboardGraphics.js +27 -53
- package/Source/DataSources/BillboardVisualizer.js +3 -3
- package/Source/DataSources/BoxGraphics.js +13 -18
- package/Source/DataSources/CallbackPositionProperty.js +1 -2
- package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
- package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
- package/Source/DataSources/CompositePositionProperty.js +1 -2
- package/Source/DataSources/ConstantPositionProperty.js +1 -2
- package/Source/DataSources/CorridorGraphics.js +23 -35
- package/Source/DataSources/CylinderGraphics.js +18 -25
- package/Source/DataSources/CzmlDataSource.js +34 -60
- package/Source/DataSources/DataSourceClock.js +12 -13
- package/Source/DataSources/DataSourceCollection.js +2 -3
- package/Source/DataSources/DataSourceDisplay.js +2 -5
- package/Source/DataSources/EllipseGraphics.js +26 -40
- package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
- package/Source/DataSources/EllipsoidGraphics.js +21 -32
- package/Source/DataSources/Entity.js +7 -9
- package/Source/DataSources/EntityCluster.js +53 -28
- package/Source/DataSources/EntityView.js +1 -2
- package/Source/DataSources/GeoJsonDataSource.js +12 -12
- package/Source/DataSources/GeometryUpdater.js +12 -17
- package/Source/DataSources/GeometryVisualizer.js +2 -3
- package/Source/DataSources/GpxDataSource.js +4 -7
- package/Source/DataSources/GridMaterialProperty.js +2 -2
- package/Source/DataSources/GroundGeometryUpdater.js +1 -2
- package/Source/DataSources/ImageMaterialProperty.js +2 -2
- package/Source/DataSources/KmlDataSource.js +84 -158
- package/Source/DataSources/LabelGraphics.js +27 -56
- package/Source/DataSources/LabelVisualizer.js +1 -2
- package/Source/DataSources/ModelGraphics.js +29 -63
- package/Source/DataSources/ModelVisualizer.js +1 -2
- package/Source/DataSources/NodeTransformationProperty.js +2 -2
- package/Source/DataSources/PathGraphics.js +10 -12
- package/Source/DataSources/PlaneGraphics.js +13 -15
- package/Source/DataSources/PointGraphics.js +17 -32
- package/Source/DataSources/PolygonGraphics.js +28 -45
- package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
- package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineGraphics.js +16 -23
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineVisualizer.js +2 -3
- package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
- package/Source/DataSources/PositionPropertyArray.js +1 -2
- package/Source/DataSources/Property.js +1 -2
- package/Source/DataSources/PropertyBag.js +1 -2
- package/Source/DataSources/RectangleGraphics.js +23 -35
- package/Source/DataSources/Rotation.js +4 -5
- package/Source/DataSources/SampledPositionProperty.js +2 -3
- package/Source/DataSources/SampledProperty.js +6 -11
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
- package/Source/DataSources/StripeMaterialProperty.js +2 -2
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
- package/Source/DataSources/VelocityOrientationProperty.js +1 -2
- package/Source/DataSources/VelocityVectorProperty.js +1 -2
- package/Source/DataSources/WallGraphics.js +15 -23
- package/Source/DataSources/createPropertyDescriptor.js +2 -3
- package/Source/DataSources/exportKml.js +11 -14
- package/Source/Renderer/Buffer.js +5 -5
- package/Source/Renderer/ClearCommand.js +2 -2
- package/Source/Renderer/ComputeCommand.js +3 -3
- package/Source/Renderer/Context.js +22 -37
- package/Source/Renderer/CubeMap.js +6 -6
- package/Source/Renderer/CubeMapFace.js +11 -12
- package/Source/Renderer/DrawCommand.js +14 -25
- package/Source/Renderer/Framebuffer.js +3 -3
- package/Source/Renderer/FramebufferManager.js +25 -39
- package/Source/Renderer/MultisampleFramebuffer.js +2 -2
- package/Source/Renderer/RenderState.js +63 -92
- package/Source/Renderer/Renderbuffer.js +4 -4
- package/Source/Renderer/Sampler.js +2 -2
- package/Source/Renderer/ShaderBuilder.js +2 -3
- package/Source/Renderer/ShaderProgram.js +3 -3
- package/Source/Renderer/ShaderSource.js +3 -3
- package/Source/Renderer/Texture.js +16 -15
- package/Source/Renderer/TextureAtlas.js +802 -0
- package/Source/Renderer/UniformState.js +6 -11
- package/Source/Renderer/VertexArray.js +14 -23
- package/Source/Renderer/VertexArrayFacade.js +7 -11
- package/Source/Scene/Appearance.js +4 -4
- package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/B3dmParser.js +2 -3
- package/Source/Scene/BatchTableHierarchy.js +6 -13
- package/Source/Scene/Billboard.js +105 -182
- package/Source/Scene/BillboardCollection.js +140 -224
- package/Source/Scene/BillboardLoadState.js +44 -0
- package/Source/Scene/BillboardTexture.js +348 -0
- package/Source/Scene/BingMapsImageryProvider.js +6 -6
- package/Source/Scene/BoxEmitter.js +1 -2
- package/Source/Scene/BufferLoader.js +2 -2
- package/Source/Scene/Camera.js +45 -64
- package/Source/Scene/CameraFlightPath.js +6 -6
- package/Source/Scene/Cesium3DContentGroup.js +2 -2
- package/Source/Scene/Cesium3DTile.js +3 -4
- package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
- package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
- package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
- package/Source/Scene/Cesium3DTileStyle.js +4 -7
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +419 -137
- package/Source/Scene/Cesium3DTileset.js +77 -143
- package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
- package/Source/Scene/Cesium3DTilesetStatistics.js +0 -1
- package/Source/Scene/CircleEmitter.js +2 -3
- package/Source/Scene/ClassificationPrimitive.js +15 -26
- package/Source/Scene/ClippingPlaneCollection.js +7 -12
- package/Source/Scene/ClippingPolygon.js +1 -2
- package/Source/Scene/ClippingPolygonCollection.js +4 -4
- package/Source/Scene/CloudCollection.js +9 -11
- package/Source/Scene/Composite3DTileContent.js +1 -2
- package/Source/Scene/ConeEmitter.js +1 -2
- package/Source/Scene/ContentMetadata.js +2 -2
- package/Source/Scene/CreditDisplay.js +5 -9
- package/Source/Scene/CumulusCloud.js +9 -15
- package/Source/Scene/DebugAppearance.js +7 -7
- package/Source/Scene/DebugCameraPrimitive.js +5 -5
- package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
- package/Source/Scene/DepthPlane.js +1 -2
- package/Source/Scene/DirectionalLight.js +2 -3
- package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
- package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
- package/Source/Scene/EllipsoidPrimitive.js +11 -19
- package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
- package/Source/Scene/Expression.js +1 -0
- package/Source/Scene/FrameRateMonitor.js +12 -21
- package/Source/Scene/FrustumCommands.js +2 -3
- package/Source/Scene/Geometry3DTileContent.js +9 -16
- package/Source/Scene/Globe.js +3 -4
- package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
- package/Source/Scene/GlobeTranslucencyState.js +12 -25
- package/Source/Scene/GltfBufferViewLoader.js +4 -4
- package/Source/Scene/GltfDracoLoader.js +2 -2
- package/Source/Scene/GltfImageLoader.js +2 -2
- package/Source/Scene/GltfIndexBufferLoader.js +5 -5
- package/Source/Scene/GltfJsonLoader.js +2 -2
- package/Source/Scene/GltfLoader.js +22 -37
- package/Source/Scene/GltfLoaderUtil.js +11 -11
- package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
- package/Source/Scene/GltfPipeline/addToArray.js +1 -3
- package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
- package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
- package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
- package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
- package/Source/Scene/GltfTextureLoader.js +3 -3
- package/Source/Scene/GltfVertexBufferLoader.js +5 -5
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
- package/Source/Scene/GridImageryProvider.js +10 -13
- package/Source/Scene/GroundPolylinePrimitive.js +11 -22
- package/Source/Scene/GroundPrimitive.js +13 -24
- package/Source/Scene/GroupMetadata.js +2 -2
- package/Source/Scene/I3SDataProvider.js +10 -15
- package/Source/Scene/I3SNode.js +1 -6
- package/Source/Scene/I3SSublayer.js +1 -2
- package/Source/Scene/I3SSymbology.js +2 -3
- package/Source/Scene/I3dmParser.js +1 -2
- package/Source/Scene/ITwinData.js +11 -6
- package/Source/Scene/ImageBasedLighting.js +2 -2
- package/Source/Scene/ImageryLayer.js +42 -71
- package/Source/Scene/ImageryLayerCollection.js +2 -3
- package/Source/Scene/Implicit3DTileContent.js +3 -4
- package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
- package/Source/Scene/ImplicitMetadataView.js +2 -2
- package/Source/Scene/ImplicitSubtree.js +10 -15
- package/Source/Scene/ImplicitSubtreeCache.js +3 -3
- package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
- package/Source/Scene/InstanceAttributeSemantic.js +1 -1
- package/Source/Scene/IonImageryProvider.js +3 -3
- package/Source/Scene/KeyframeNode.js +16 -2
- package/Source/Scene/Label.js +19 -36
- package/Source/Scene/LabelCollection.js +218 -196
- package/Source/Scene/MapboxImageryProvider.js +4 -4
- package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
- package/Source/Scene/Material.js +14 -20
- package/Source/Scene/MaterialAppearance.js +12 -18
- package/Source/Scene/Megatexture.js +145 -82
- package/Source/Scene/MetadataClass.js +4 -4
- package/Source/Scene/MetadataClassProperty.js +11 -14
- package/Source/Scene/MetadataEnum.js +4 -7
- package/Source/Scene/MetadataEnumValue.js +2 -2
- package/Source/Scene/MetadataSchema.js +4 -4
- package/Source/Scene/MetadataSchemaLoader.js +2 -2
- package/Source/Scene/MetadataTable.js +2 -2
- package/Source/Scene/MetadataTableProperty.js +17 -31
- package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
- package/Source/Scene/Model/B3dmLoader.js +15 -26
- package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
- package/Source/Scene/Model/CustomShader.js +10 -14
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
- package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
- package/Source/Scene/Model/GeoJsonLoader.js +5 -8
- package/Source/Scene/Model/I3dmLoader.js +13 -21
- package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
- package/Source/Scene/Model/Model.js +41 -63
- package/Source/Scene/Model/ModelAnimation.js +5 -6
- package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
- package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
- package/Source/Scene/Model/ModelArticulation.js +2 -2
- package/Source/Scene/Model/ModelArticulationStage.js +2 -2
- package/Source/Scene/Model/ModelDrawCommand.js +3 -3
- package/Source/Scene/Model/ModelFeatureTable.js +3 -9
- package/Source/Scene/Model/ModelLightingOptions.js +3 -3
- package/Source/Scene/Model/ModelNode.js +1 -1
- package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
- package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
- package/Source/Scene/Model/ModelSceneGraph.js +2 -2
- package/Source/Scene/Model/ModelSkin.js +2 -2
- package/Source/Scene/Model/ModelUtility.js +5 -1
- package/Source/Scene/Model/PickingPipelineStage.js +1 -2
- package/Source/Scene/Model/PntsLoader.js +6 -6
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
- package/Source/Scene/Model/TextureUniform.js +5 -8
- package/Source/Scene/Model/VaryingType.js +2 -2
- package/Source/Scene/Model/pickModel.js +4 -5
- package/Source/Scene/Moon.js +5 -5
- package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
- package/Source/Scene/Particle.js +11 -17
- package/Source/Scene/ParticleBurst.js +5 -5
- package/Source/Scene/ParticleSystem.js +24 -54
- package/Source/Scene/PerInstanceColorAppearance.js +8 -8
- package/Source/Scene/PerformanceDisplay.js +3 -3
- package/Source/Scene/PickFramebuffer.js +4 -5
- package/Source/Scene/Picking.js +3 -4
- package/Source/Scene/PntsParser.js +1 -2
- package/Source/Scene/PointCloud.js +6 -12
- package/Source/Scene/PointCloudShading.js +9 -18
- package/Source/Scene/PointPrimitive.js +11 -21
- package/Source/Scene/PointPrimitiveCollection.js +6 -14
- package/Source/Scene/Polyline.js +5 -5
- package/Source/Scene/PolylineCollection.js +5 -10
- package/Source/Scene/PolylineColorAppearance.js +7 -11
- package/Source/Scene/PolylineMaterialAppearance.js +7 -11
- package/Source/Scene/PostProcessStage.js +2 -2
- package/Source/Scene/PostProcessStageComposite.js +3 -6
- package/Source/Scene/Primitive.js +21 -42
- package/Source/Scene/PrimitiveCollection.js +4 -4
- package/Source/Scene/PrimitivePipeline.js +1 -2
- package/Source/Scene/PropertyAttribute.js +2 -2
- package/Source/Scene/PropertyAttributeProperty.js +4 -4
- package/Source/Scene/PropertyTable.js +2 -2
- package/Source/Scene/PropertyTexture.js +2 -2
- package/Source/Scene/PropertyTextureProperty.js +4 -4
- package/Source/Scene/QuadtreePrimitive.js +84 -66
- package/Source/Scene/QuadtreeTile.js +170 -0
- package/Source/Scene/ResourceCache.js +11 -11
- package/Source/Scene/ResourceCacheKey.js +11 -11
- package/Source/Scene/Scene.js +66 -40
- package/Source/Scene/ScreenSpaceCameraController.js +10 -20
- package/Source/Scene/ShadowMap.js +15 -15
- package/Source/Scene/ShadowVolumeAppearance.js +1 -2
- package/Source/Scene/SingleTileImageryProvider.js +4 -4
- package/Source/Scene/SkyAtmosphere.js +1 -2
- package/Source/Scene/SkyBox.js +1 -2
- package/Source/Scene/SpatialNode.js +4 -11
- package/Source/Scene/SphereEmitter.js +2 -3
- package/Source/Scene/StructuralMetadata.js +2 -2
- package/Source/Scene/SunLight.js +4 -4
- package/Source/Scene/SupportedImageFormats.js +4 -4
- package/Source/Scene/TileBoundingRegion.js +4 -5
- package/Source/Scene/TileBoundingS2Cell.js +3 -4
- package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
- package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
- package/Source/Scene/TileMetadata.js +2 -2
- package/Source/Scene/TilesetMetadata.js +2 -2
- package/Source/Scene/TimeDynamicImagery.js +2 -2
- package/Source/Scene/TimeDynamicPointCloud.js +8 -10
- package/Source/Scene/TweenCollection.js +13 -16
- package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
- package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
- package/Source/Scene/Vector3DTileContent.js +16 -20
- package/Source/Scene/Vector3DTileGeometry.js +1 -2
- package/Source/Scene/Vector3DTilePoints.js +2 -5
- package/Source/Scene/Vector3DTilePolygons.js +2 -3
- package/Source/Scene/Vector3DTilePolylines.js +1 -2
- package/Source/Scene/Vector3DTilePrimitive.js +9 -13
- package/Source/Scene/VoxelBoxShape.js +14 -8
- package/Source/Scene/VoxelCell.js +6 -5
- package/Source/Scene/VoxelContent.js +171 -107
- package/Source/Scene/VoxelCylinderShape.js +69 -69
- package/Source/Scene/VoxelEllipsoidShape.js +17 -8
- package/Source/Scene/VoxelMetadataOrder.js +24 -0
- package/Source/Scene/VoxelPrimitive.js +134 -79
- package/Source/Scene/VoxelProvider.js +22 -29
- package/Source/Scene/VoxelRenderResources.js +26 -7
- package/Source/Scene/VoxelShape.js +10 -3
- package/Source/Scene/VoxelTraversal.js +260 -180
- package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
- package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
- package/Source/Scene/createElevationBandMaterial.js +4 -4
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
- package/Source/Scene/createOsmBuildingsAsync.js +3 -6
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
- package/Source/Scene/createWorldImageryAsync.js +3 -3
- package/Source/Scene/findContentMetadata.js +2 -5
- package/Source/Scene/findTileMetadata.js +2 -5
- package/Source/Scene/parseBatchTable.js +1 -5
- package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
- package/Source/Scene/parseStructuralMetadata.js +2 -2
- package/Source/Scene/processVoxelProperties.js +3 -0
- package/Source/Shaders/GlobeFS.glsl +10 -1
- package/Source/Shaders/GlobeFS.js +10 -1
- package/Source/Shaders/Voxels/Megatexture.glsl +4 -16
- package/Source/Shaders/Voxels/Megatexture.js +4 -16
- package/Source/Shaders/Voxels/Octree.glsl +44 -7
- package/Source/Shaders/Voxels/Octree.js +44 -7
- package/Source/Shaders/Voxels/VoxelFS.glsl +9 -15
- package/Source/Shaders/Voxels/VoxelFS.js +9 -15
- package/Source/Shaders/Voxels/convertUvToCylinder.glsl +15 -15
- package/Source/Shaders/Voxels/convertUvToCylinder.js +15 -15
- package/Source/Widget/CesiumWidget.js +17 -25
- package/Source/Workers/createGeometry.js +1 -2
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
- package/Source/Workers/decodeI3S.js +1 -5
- package/Source/Workers/transcodeKTX2.js +1 -2
- package/index.d.ts +231 -92
- package/index.js +315 -310
- package/package.json +3 -3
- package/Build/Workers/chunk-TVL3F7IU.js +0 -39
- package/Source/Scene/TextureAtlas.js +0 -558
|
@@ -6,7 +6,7 @@ import Cartographic from "../Core/Cartographic.js";
|
|
|
6
6
|
import Check from "../Core/Check.js";
|
|
7
7
|
import Color from "../Core/Color.js";
|
|
8
8
|
import createGuid from "../Core/createGuid.js";
|
|
9
|
-
import
|
|
9
|
+
import Frozen from "../Core/Frozen.js";
|
|
10
10
|
import defined from "../Core/defined.js";
|
|
11
11
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
12
12
|
import DistanceDisplayCondition from "../Core/DistanceDisplayCondition.js";
|
|
@@ -14,6 +14,7 @@ import Ellipsoid from "../Core/Ellipsoid.js";
|
|
|
14
14
|
import Matrix4 from "../Core/Matrix4.js";
|
|
15
15
|
import NearFarScalar from "../Core/NearFarScalar.js";
|
|
16
16
|
import Resource from "../Core/Resource.js";
|
|
17
|
+
import BillboardTexture from "./BillboardTexture.js";
|
|
17
18
|
import HeightReference, {
|
|
18
19
|
isHeightReferenceRelative,
|
|
19
20
|
} from "./HeightReference.js";
|
|
@@ -93,7 +94,7 @@ import SplitDirection from "./SplitDirection.js";
|
|
|
93
94
|
* @demo {@link https://sandcastle.cesium.com/index.html?src=Billboards.html|Cesium Sandcastle Billboard Demo}
|
|
94
95
|
*/
|
|
95
96
|
function Billboard(options, billboardCollection) {
|
|
96
|
-
options =
|
|
97
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
97
98
|
|
|
98
99
|
//>>includeStart('debug', pragmas.debug);
|
|
99
100
|
if (
|
|
@@ -155,59 +156,39 @@ function Billboard(options, billboardCollection) {
|
|
|
155
156
|
);
|
|
156
157
|
}
|
|
157
158
|
|
|
158
|
-
this._show =
|
|
159
|
-
this._position = Cartesian3.clone(
|
|
160
|
-
defaultValue(options.position, Cartesian3.ZERO),
|
|
161
|
-
);
|
|
159
|
+
this._show = options.show ?? true;
|
|
160
|
+
this._position = Cartesian3.clone(options.position ?? Cartesian3.ZERO);
|
|
162
161
|
this._actualPosition = Cartesian3.clone(this._position); // For columbus view and 2D
|
|
163
|
-
this._pixelOffset = Cartesian2.clone(
|
|
164
|
-
defaultValue(options.pixelOffset, Cartesian2.ZERO),
|
|
165
|
-
);
|
|
162
|
+
this._pixelOffset = Cartesian2.clone(options.pixelOffset ?? Cartesian2.ZERO);
|
|
166
163
|
this._translate = new Cartesian2(0.0, 0.0); // used by labels for glyph vertex translation
|
|
167
|
-
this._eyeOffset = Cartesian3.clone(
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
this.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
this.
|
|
175
|
-
options.verticalOrigin,
|
|
176
|
-
VerticalOrigin.CENTER,
|
|
177
|
-
);
|
|
178
|
-
this._horizontalOrigin = defaultValue(
|
|
179
|
-
options.horizontalOrigin,
|
|
180
|
-
HorizontalOrigin.CENTER,
|
|
181
|
-
);
|
|
182
|
-
this._scale = defaultValue(options.scale, 1.0);
|
|
183
|
-
this._color = Color.clone(defaultValue(options.color, Color.WHITE));
|
|
184
|
-
this._rotation = defaultValue(options.rotation, 0.0);
|
|
185
|
-
this._alignedAxis = Cartesian3.clone(
|
|
186
|
-
defaultValue(options.alignedAxis, Cartesian3.ZERO),
|
|
187
|
-
);
|
|
164
|
+
this._eyeOffset = Cartesian3.clone(options.eyeOffset ?? Cartesian3.ZERO);
|
|
165
|
+
this._heightReference = options.heightReference ?? HeightReference.NONE;
|
|
166
|
+
this._verticalOrigin = options.verticalOrigin ?? VerticalOrigin.CENTER;
|
|
167
|
+
this._horizontalOrigin = options.horizontalOrigin ?? HorizontalOrigin.CENTER;
|
|
168
|
+
this._scale = options.scale ?? 1.0;
|
|
169
|
+
this._color = Color.clone(options.color ?? Color.WHITE);
|
|
170
|
+
this._rotation = options.rotation ?? 0.0;
|
|
171
|
+
this._alignedAxis = Cartesian3.clone(options.alignedAxis ?? Cartesian3.ZERO);
|
|
188
172
|
this._width = options.width;
|
|
189
173
|
this._height = options.height;
|
|
190
174
|
this._scaleByDistance = scaleByDistance;
|
|
191
175
|
this._translucencyByDistance = translucencyByDistance;
|
|
192
176
|
this._pixelOffsetScaleByDistance = pixelOffsetScaleByDistance;
|
|
193
|
-
this._sizeInMeters =
|
|
177
|
+
this._sizeInMeters = options.sizeInMeters ?? false;
|
|
194
178
|
this._distanceDisplayCondition = distanceDisplayCondition;
|
|
195
179
|
this._disableDepthTestDistance = options.disableDepthTestDistance;
|
|
196
180
|
this._id = options.id;
|
|
197
|
-
this._collection =
|
|
181
|
+
this._collection = options.collection ?? billboardCollection; // Used only for pick ids
|
|
198
182
|
|
|
199
183
|
this._pickId = undefined;
|
|
200
|
-
this._pickPrimitive =
|
|
184
|
+
this._pickPrimitive = options._pickPrimitive ?? this;
|
|
185
|
+
|
|
201
186
|
this._billboardCollection = billboardCollection;
|
|
202
187
|
this._dirty = false;
|
|
203
|
-
this._index = -1; //Used only by BillboardCollection
|
|
188
|
+
this._index = -1; // Used only by BillboardCollection
|
|
204
189
|
this._batchIndex = undefined; // Used only by Vector3DTilePoints and BillboardCollection
|
|
205
190
|
|
|
206
|
-
this.
|
|
207
|
-
this._imageIndexPromise = undefined;
|
|
208
|
-
this._imageId = undefined;
|
|
209
|
-
this._image = undefined;
|
|
210
|
-
this._imageSubRegion = undefined;
|
|
191
|
+
this._imageTexture = new BillboardTexture(billboardCollection);
|
|
211
192
|
this._imageWidth = undefined;
|
|
212
193
|
this._imageHeight = undefined;
|
|
213
194
|
|
|
@@ -228,17 +209,11 @@ function Billboard(options, billboardCollection) {
|
|
|
228
209
|
}
|
|
229
210
|
}
|
|
230
211
|
|
|
231
|
-
this.
|
|
232
|
-
this._image = image;
|
|
212
|
+
this._imageTexture.loadImage(imageId, image);
|
|
233
213
|
}
|
|
234
214
|
|
|
235
215
|
if (defined(options.imageSubRegion)) {
|
|
236
|
-
this.
|
|
237
|
-
this._imageSubRegion = options.imageSubRegion;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
if (defined(this._billboardCollection._textureAtlas)) {
|
|
241
|
-
this._loadImage();
|
|
216
|
+
this._imageTexture.addImageSubRegion(imageId, options.imageSubRegion);
|
|
242
217
|
}
|
|
243
218
|
|
|
244
219
|
this._actualClampedPosition = undefined;
|
|
@@ -246,17 +221,12 @@ function Billboard(options, billboardCollection) {
|
|
|
246
221
|
this._mode = SceneMode.SCENE3D;
|
|
247
222
|
|
|
248
223
|
this._clusterShow = true;
|
|
249
|
-
this._outlineColor = Color.clone(
|
|
250
|
-
|
|
251
|
-
);
|
|
252
|
-
this._outlineWidth = defaultValue(options.outlineWidth, 0.0);
|
|
224
|
+
this._outlineColor = Color.clone(options.outlineColor ?? Color.BLACK);
|
|
225
|
+
this._outlineWidth = options.outlineWidth ?? 0.0;
|
|
253
226
|
|
|
254
227
|
this._updateClamping();
|
|
255
228
|
|
|
256
|
-
this._splitDirection =
|
|
257
|
-
options.splitDirection,
|
|
258
|
-
SplitDirection.NONE,
|
|
259
|
-
);
|
|
229
|
+
this._splitDirection = options.splitDirection ?? SplitDirection.NONE;
|
|
260
230
|
}
|
|
261
231
|
|
|
262
232
|
const SHOW_INDEX = (Billboard.SHOW_INDEX = 0);
|
|
@@ -775,18 +745,19 @@ Object.defineProperties(Billboard.prototype, {
|
|
|
775
745
|
/**
|
|
776
746
|
* Gets or sets a width for the billboard. If undefined, the image width will be used.
|
|
777
747
|
* @memberof Billboard.prototype
|
|
778
|
-
* @type {number}
|
|
748
|
+
* @type {number|undefined}
|
|
779
749
|
*/
|
|
780
750
|
width: {
|
|
781
751
|
get: function () {
|
|
782
|
-
return
|
|
752
|
+
return this._width ?? this._imageTexture.width;
|
|
783
753
|
},
|
|
784
754
|
set: function (value) {
|
|
785
755
|
//>>includeStart('debug', pragmas.debug);
|
|
786
756
|
if (defined(value)) {
|
|
787
|
-
Check.typeOf.number("
|
|
757
|
+
Check.typeOf.number("width", value);
|
|
788
758
|
}
|
|
789
759
|
//>>includeEnd('debug');
|
|
760
|
+
|
|
790
761
|
if (this._width !== value) {
|
|
791
762
|
this._width = value;
|
|
792
763
|
makeDirty(this, IMAGE_INDEX_INDEX);
|
|
@@ -797,18 +768,19 @@ Object.defineProperties(Billboard.prototype, {
|
|
|
797
768
|
/**
|
|
798
769
|
* Gets or sets a height for the billboard. If undefined, the image height will be used.
|
|
799
770
|
* @memberof Billboard.prototype
|
|
800
|
-
* @type {number}
|
|
771
|
+
* @type {number|undefined}
|
|
801
772
|
*/
|
|
802
773
|
height: {
|
|
803
774
|
get: function () {
|
|
804
|
-
return
|
|
775
|
+
return this._height ?? this._imageTexture.height;
|
|
805
776
|
},
|
|
806
777
|
set: function (value) {
|
|
807
778
|
//>>includeStart('debug', pragmas.debug);
|
|
808
779
|
if (defined(value)) {
|
|
809
|
-
Check.typeOf.number("
|
|
780
|
+
Check.typeOf.number("height", value);
|
|
810
781
|
}
|
|
811
782
|
//>>includeEnd('debug');
|
|
783
|
+
|
|
812
784
|
if (this._height !== value) {
|
|
813
785
|
this._height = value;
|
|
814
786
|
makeDirty(this, IMAGE_INDEX_INDEX);
|
|
@@ -964,42 +936,69 @@ Object.defineProperties(Billboard.prototype, {
|
|
|
964
936
|
*/
|
|
965
937
|
image: {
|
|
966
938
|
get: function () {
|
|
967
|
-
return this.
|
|
939
|
+
return this._imageTexture.id;
|
|
968
940
|
},
|
|
969
941
|
set: function (value) {
|
|
970
942
|
if (!defined(value)) {
|
|
971
|
-
this.
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
this.setImage(value, value);
|
|
943
|
+
this._imageTexture.unload();
|
|
944
|
+
return;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
let id;
|
|
948
|
+
if (typeof value === "string") {
|
|
949
|
+
id = value;
|
|
979
950
|
} else if (value instanceof Resource) {
|
|
980
|
-
|
|
951
|
+
id = value._url;
|
|
981
952
|
} else if (defined(value.src)) {
|
|
982
|
-
|
|
953
|
+
id = value.src;
|
|
983
954
|
} else {
|
|
984
|
-
|
|
955
|
+
id = createGuid();
|
|
985
956
|
}
|
|
957
|
+
|
|
958
|
+
this._imageTexture.loadImage(id, value);
|
|
986
959
|
},
|
|
987
960
|
},
|
|
988
961
|
|
|
989
962
|
/**
|
|
990
963
|
* When <code>true</code>, this billboard is ready to render, i.e., the image
|
|
991
964
|
* has been downloaded and the WebGL resources are created.
|
|
992
|
-
*
|
|
993
965
|
* @memberof Billboard.prototype
|
|
994
|
-
*
|
|
995
966
|
* @type {boolean}
|
|
996
967
|
* @readonly
|
|
997
|
-
*
|
|
998
968
|
* @default false
|
|
999
969
|
*/
|
|
1000
970
|
ready: {
|
|
1001
971
|
get: function () {
|
|
1002
|
-
return this.
|
|
972
|
+
return this._imageTexture.ready;
|
|
973
|
+
},
|
|
974
|
+
},
|
|
975
|
+
|
|
976
|
+
/**
|
|
977
|
+
* If defined, this error was encountered during the loading process.
|
|
978
|
+
* @memberof Billboard.prototype
|
|
979
|
+
* @type {Error|undefined}
|
|
980
|
+
* @readonly
|
|
981
|
+
* @private
|
|
982
|
+
*/
|
|
983
|
+
loadError: {
|
|
984
|
+
get: function () {
|
|
985
|
+
return this._imageTexture.loadError;
|
|
986
|
+
},
|
|
987
|
+
},
|
|
988
|
+
|
|
989
|
+
/**
|
|
990
|
+
* Used by <code>billboardCollection</code> to track which billboards to update based on image load status.
|
|
991
|
+
* @memberof Billboard.prototype
|
|
992
|
+
* @type {boolean}
|
|
993
|
+
* @private
|
|
994
|
+
* @default false
|
|
995
|
+
*/
|
|
996
|
+
textureDirty: {
|
|
997
|
+
get: function () {
|
|
998
|
+
return this._imageTexture.dirty;
|
|
999
|
+
},
|
|
1000
|
+
set: function (value) {
|
|
1001
|
+
this._imageTexture.dirty = value;
|
|
1003
1002
|
},
|
|
1004
1003
|
},
|
|
1005
1004
|
|
|
@@ -1120,8 +1119,7 @@ Billboard.prototype._updateClamping = function () {
|
|
|
1120
1119
|
|
|
1121
1120
|
const scratchCartographic = new Cartographic();
|
|
1122
1121
|
Billboard._updateClamping = function (collection, owner) {
|
|
1123
|
-
|
|
1124
|
-
if (!defined(scene)) {
|
|
1122
|
+
if (!defined(collection) || !defined(collection._scene)) {
|
|
1125
1123
|
//>>includeStart('debug', pragmas.debug);
|
|
1126
1124
|
if (owner._heightReference !== HeightReference.NONE) {
|
|
1127
1125
|
throw new DeveloperError(
|
|
@@ -1131,11 +1129,10 @@ Billboard._updateClamping = function (collection, owner) {
|
|
|
1131
1129
|
//>>includeEnd('debug');
|
|
1132
1130
|
return;
|
|
1133
1131
|
}
|
|
1134
|
-
|
|
1135
|
-
const ellipsoid =
|
|
1132
|
+
const scene = collection._scene;
|
|
1133
|
+
const ellipsoid = scene.ellipsoid ?? Ellipsoid.default;
|
|
1136
1134
|
|
|
1137
1135
|
const mode = scene.frameState.mode;
|
|
1138
|
-
|
|
1139
1136
|
const modeChanged = mode !== owner._mode;
|
|
1140
1137
|
owner._mode = mode;
|
|
1141
1138
|
|
|
@@ -1201,68 +1198,14 @@ Billboard._updateClamping = function (collection, owner) {
|
|
|
1201
1198
|
updateFunction(scratchCartographic);
|
|
1202
1199
|
};
|
|
1203
1200
|
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
const that = this;
|
|
1213
|
-
function completeImageLoad(index) {
|
|
1214
|
-
if (
|
|
1215
|
-
that._imageId !== imageId ||
|
|
1216
|
-
that._image !== image ||
|
|
1217
|
-
!BoundingRectangle.equals(that._imageSubRegion, imageSubRegion)
|
|
1218
|
-
) {
|
|
1219
|
-
// another load occurred before this one finished, ignore the index
|
|
1220
|
-
return;
|
|
1221
|
-
}
|
|
1222
|
-
|
|
1223
|
-
// fill in imageWidth and imageHeight
|
|
1224
|
-
const textureCoordinates = atlas.textureCoordinates[index];
|
|
1225
|
-
that._imageWidth = atlas.texture.width * textureCoordinates.width;
|
|
1226
|
-
that._imageHeight = atlas.texture.height * textureCoordinates.height;
|
|
1227
|
-
|
|
1228
|
-
that._imageIndex = index;
|
|
1229
|
-
that._ready = true;
|
|
1230
|
-
that._image = undefined;
|
|
1231
|
-
that._imageIndexPromise = undefined;
|
|
1232
|
-
makeDirty(that, IMAGE_INDEX_INDEX);
|
|
1233
|
-
|
|
1234
|
-
const scene = that._billboardCollection._scene;
|
|
1235
|
-
if (!defined(scene)) {
|
|
1236
|
-
return;
|
|
1237
|
-
}
|
|
1238
|
-
// Request a new render in request render mode
|
|
1239
|
-
scene.frameState.afterRender.push(() => true);
|
|
1240
|
-
}
|
|
1241
|
-
|
|
1242
|
-
if (defined(image)) {
|
|
1243
|
-
imageIndexPromise = atlas.addImage(imageId, image);
|
|
1244
|
-
}
|
|
1245
|
-
if (defined(imageSubRegion)) {
|
|
1246
|
-
imageIndexPromise = atlas.addSubRegion(imageId, imageSubRegion);
|
|
1247
|
-
}
|
|
1248
|
-
|
|
1249
|
-
this._imageIndexPromise = imageIndexPromise;
|
|
1250
|
-
|
|
1251
|
-
if (!defined(imageIndexPromise)) {
|
|
1252
|
-
return;
|
|
1253
|
-
}
|
|
1254
|
-
|
|
1255
|
-
// If the promise has already successfully resolved, we can return immediately without waiting a frame
|
|
1256
|
-
const index = atlas.getImageIndex(imageId);
|
|
1257
|
-
if (defined(index) && !defined(imageSubRegion)) {
|
|
1258
|
-
completeImageLoad(index);
|
|
1259
|
-
return;
|
|
1260
|
-
}
|
|
1261
|
-
|
|
1262
|
-
imageIndexPromise.then(completeImageLoad).catch(function (error) {
|
|
1263
|
-
console.error(`Error loading image for billboard: ${error}`);
|
|
1264
|
-
that._imageIndexPromise = undefined;
|
|
1265
|
-
});
|
|
1201
|
+
/**
|
|
1202
|
+
* Get the texture coordinates for reading the loaded texture in shaders.
|
|
1203
|
+
* @param {BoundingRectangle} [result] The modified result parameter or a new BoundingRectangle instance if one was not provided.
|
|
1204
|
+
* @return {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
|
|
1205
|
+
* @private
|
|
1206
|
+
*/
|
|
1207
|
+
Billboard.prototype.computeTextureCoordinates = function (result) {
|
|
1208
|
+
return this._imageTexture.computeTextureCoordinates(result);
|
|
1266
1209
|
};
|
|
1267
1210
|
|
|
1268
1211
|
/**
|
|
@@ -1301,26 +1244,24 @@ Billboard.prototype._loadImage = function () {
|
|
|
1301
1244
|
*/
|
|
1302
1245
|
Billboard.prototype.setImage = function (id, image) {
|
|
1303
1246
|
//>>includeStart('debug', pragmas.debug);
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
}
|
|
1307
|
-
if (!defined(image)) {
|
|
1308
|
-
throw new DeveloperError("image is required.");
|
|
1309
|
-
}
|
|
1247
|
+
Check.typeOf.string("id", id);
|
|
1248
|
+
Check.defined("image", image);
|
|
1310
1249
|
//>>includeEnd('debug');
|
|
1311
1250
|
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
}
|
|
1251
|
+
this._imageTexture.loadImage(id, image);
|
|
1252
|
+
};
|
|
1315
1253
|
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1254
|
+
/**
|
|
1255
|
+
* Copy the values of an existing billboard texture into this one. Useful for prevent downtime for images that have already been loaded.
|
|
1256
|
+
* @private
|
|
1257
|
+
* @param {BillboardTexture} billboardTexture
|
|
1258
|
+
*/
|
|
1259
|
+
Billboard.prototype.setImageTexture = function (billboardTexture) {
|
|
1260
|
+
//>>includeStart('debug', pragmas.debug);
|
|
1261
|
+
Check.defined("billboardTexture", billboardTexture);
|
|
1262
|
+
//>>includeEnd('debug');
|
|
1320
1263
|
|
|
1321
|
-
|
|
1322
|
-
this._loadImage();
|
|
1323
|
-
}
|
|
1264
|
+
BillboardTexture.clone(billboardTexture, this._imageTexture);
|
|
1324
1265
|
};
|
|
1325
1266
|
|
|
1326
1267
|
/**
|
|
@@ -1334,28 +1275,11 @@ Billboard.prototype.setImage = function (id, image) {
|
|
|
1334
1275
|
*/
|
|
1335
1276
|
Billboard.prototype.setImageSubRegion = function (id, subRegion) {
|
|
1336
1277
|
//>>includeStart('debug', pragmas.debug);
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
}
|
|
1340
|
-
if (!defined(subRegion)) {
|
|
1341
|
-
throw new DeveloperError("subRegion is required.");
|
|
1342
|
-
}
|
|
1278
|
+
Check.typeOf.string("id", id);
|
|
1279
|
+
Check.defined("subRegion", subRegion);
|
|
1343
1280
|
//>>includeEnd('debug');
|
|
1344
1281
|
|
|
1345
|
-
|
|
1346
|
-
this._imageId === id &&
|
|
1347
|
-
BoundingRectangle.equals(this._imageSubRegion, subRegion)
|
|
1348
|
-
) {
|
|
1349
|
-
return;
|
|
1350
|
-
}
|
|
1351
|
-
|
|
1352
|
-
this._imageIndex = -1;
|
|
1353
|
-
this._imageId = id;
|
|
1354
|
-
this._imageSubRegion = BoundingRectangle.clone(subRegion);
|
|
1355
|
-
|
|
1356
|
-
if (defined(this._billboardCollection._textureAtlas)) {
|
|
1357
|
-
this._loadImage();
|
|
1358
|
-
}
|
|
1282
|
+
this._imageTexture.addImageSubRegion(id, subRegion);
|
|
1359
1283
|
};
|
|
1360
1284
|
|
|
1361
1285
|
Billboard.prototype._setTranslate = function (value) {
|
|
@@ -1571,13 +1495,12 @@ Billboard.prototype.equals = function (other) {
|
|
|
1571
1495
|
(defined(other) &&
|
|
1572
1496
|
this._id === other._id &&
|
|
1573
1497
|
Cartesian3.equals(this._position, other._position) &&
|
|
1574
|
-
this.
|
|
1498
|
+
this.image === other.image &&
|
|
1575
1499
|
this._show === other._show &&
|
|
1576
1500
|
this._scale === other._scale &&
|
|
1577
1501
|
this._verticalOrigin === other._verticalOrigin &&
|
|
1578
1502
|
this._horizontalOrigin === other._horizontalOrigin &&
|
|
1579
1503
|
this._heightReference === other._heightReference &&
|
|
1580
|
-
BoundingRectangle.equals(this._imageSubRegion, other._imageSubRegion) &&
|
|
1581
1504
|
Color.equals(this._color, other._color) &&
|
|
1582
1505
|
Cartesian2.equals(this._pixelOffset, other._pixelOffset) &&
|
|
1583
1506
|
Cartesian2.equals(this._translate, other._translate) &&
|