@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Check from "../Core/Check.js";
|
|
2
|
-
import
|
|
2
|
+
import Frozen from "../Core/Frozen.js";
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -20,7 +20,7 @@ import defined from "../Core/defined.js";
|
|
|
20
20
|
* @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.
|
|
21
21
|
*/
|
|
22
22
|
function PropertyAttributeProperty(options) {
|
|
23
|
-
options =
|
|
23
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
24
24
|
const property = options.property;
|
|
25
25
|
const classProperty = options.classProperty;
|
|
26
26
|
|
|
@@ -45,8 +45,8 @@ function PropertyAttributeProperty(options) {
|
|
|
45
45
|
// the class property. The class property handles setting the default of
|
|
46
46
|
// identity: (offset 0, scale 1) with the same scalar/vector/matrix types.
|
|
47
47
|
// array types are disallowed by the spec.
|
|
48
|
-
offset =
|
|
49
|
-
scale =
|
|
48
|
+
offset = offset ?? classProperty.offset;
|
|
49
|
+
scale = scale ?? classProperty.scale;
|
|
50
50
|
|
|
51
51
|
// offset and scale are applied on the GPU, so unpack the values
|
|
52
52
|
// as math types we can use in uniform callbacks.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Check from "../Core/Check.js";
|
|
2
|
-
import
|
|
2
|
+
import Frozen from "../Core/Frozen.js";
|
|
3
3
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
4
4
|
import defined from "../Core/defined.js";
|
|
5
5
|
import JsonMetadataTable from "./JsonMetadataTable.js";
|
|
@@ -38,7 +38,7 @@ import JsonMetadataTable from "./JsonMetadataTable.js";
|
|
|
38
38
|
* @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.
|
|
39
39
|
*/
|
|
40
40
|
function PropertyTable(options) {
|
|
41
|
-
options =
|
|
41
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
42
42
|
|
|
43
43
|
//>>includeStart('debug', pragmas.debug);
|
|
44
44
|
Check.typeOf.number("options.count", options.count);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Check from "../Core/Check.js";
|
|
2
|
-
import
|
|
2
|
+
import Frozen from "../Core/Frozen.js";
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
4
|
import PropertyTextureProperty from "./PropertyTextureProperty.js";
|
|
5
5
|
|
|
@@ -24,7 +24,7 @@ import PropertyTextureProperty from "./PropertyTextureProperty.js";
|
|
|
24
24
|
* @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.
|
|
25
25
|
*/
|
|
26
26
|
function PropertyTexture(options) {
|
|
27
|
-
options =
|
|
27
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
28
28
|
const propertyTexture = options.propertyTexture;
|
|
29
29
|
const classDefinition = options.class;
|
|
30
30
|
const textures = options.textures;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Check from "../Core/Check.js";
|
|
2
|
-
import
|
|
2
|
+
import Frozen from "../Core/Frozen.js";
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
4
|
import GltfLoaderUtil from "./GltfLoaderUtil.js";
|
|
5
5
|
import MetadataType from "./MetadataType.js";
|
|
@@ -26,7 +26,7 @@ import oneTimeWarning from "../Core/oneTimeWarning.js";
|
|
|
26
26
|
* @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.
|
|
27
27
|
*/
|
|
28
28
|
function PropertyTextureProperty(options) {
|
|
29
|
-
options =
|
|
29
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
30
30
|
const property = options.property;
|
|
31
31
|
const classProperty = options.classProperty;
|
|
32
32
|
const textures = options.textures;
|
|
@@ -60,8 +60,8 @@ function PropertyTextureProperty(options) {
|
|
|
60
60
|
// the class property. The class property handles setting the default of
|
|
61
61
|
// identity: (offset 0, scale 1) with the same scalar/vector/matrix types.
|
|
62
62
|
// array types are disallowed by the spec.
|
|
63
|
-
offset =
|
|
64
|
-
scale =
|
|
63
|
+
offset = offset ?? classProperty.offset;
|
|
64
|
+
scale = scale ?? classProperty.scale;
|
|
65
65
|
|
|
66
66
|
// offset and scale are applied on the GPU, so unpack the values
|
|
67
67
|
// as math types we can use in uniform callbacks.
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Cartesian3 from "../Core/Cartesian3.js";
|
|
2
2
|
import Cartographic from "../Core/Cartographic.js";
|
|
3
|
-
import defaultValue from "../Core/defaultValue.js";
|
|
4
3
|
import defined from "../Core/defined.js";
|
|
5
4
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
6
5
|
import Event from "../Core/Event.js";
|
|
@@ -108,10 +107,7 @@ function QuadtreePrimitive(options) {
|
|
|
108
107
|
* @type {number}
|
|
109
108
|
* @default 2
|
|
110
109
|
*/
|
|
111
|
-
this.maximumScreenSpaceError =
|
|
112
|
-
options.maximumScreenSpaceError,
|
|
113
|
-
2,
|
|
114
|
-
);
|
|
110
|
+
this.maximumScreenSpaceError = options.maximumScreenSpaceError ?? 2;
|
|
115
111
|
|
|
116
112
|
/**
|
|
117
113
|
* Gets or sets the maximum number of tiles that will be retained in the tile cache.
|
|
@@ -121,7 +117,7 @@ function QuadtreePrimitive(options) {
|
|
|
121
117
|
* @type {number}
|
|
122
118
|
* @default 100
|
|
123
119
|
*/
|
|
124
|
-
this.tileCacheSize =
|
|
120
|
+
this.tileCacheSize = options.tileCacheSize ?? 100;
|
|
125
121
|
|
|
126
122
|
/**
|
|
127
123
|
* Gets or sets the number of loading descendant tiles that is considered "too many".
|
|
@@ -1418,6 +1414,8 @@ function updateHeights(primitive, frameState) {
|
|
|
1418
1414
|
) {
|
|
1419
1415
|
tryNextFrame.push(tile);
|
|
1420
1416
|
}
|
|
1417
|
+
// Ensure stale position cache is cleared
|
|
1418
|
+
tile.clearPositionCache();
|
|
1421
1419
|
tilesToUpdateHeights.shift();
|
|
1422
1420
|
primitive._lastTileIndex = 0;
|
|
1423
1421
|
continue;
|
|
@@ -1435,77 +1433,97 @@ function updateHeights(primitive, frameState) {
|
|
|
1435
1433
|
defined(terrainData) && terrainData.wasCreatedByUpsampling();
|
|
1436
1434
|
|
|
1437
1435
|
if (tile.level > data.level && !upsampledGeometryFromParent) {
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
data.positionOnEllipsoidSurface
|
|
1451
|
-
|
|
1452
|
-
|
|
1436
|
+
let position;
|
|
1437
|
+
// find cached entry
|
|
1438
|
+
const cachedData = tile.getPositionCacheEntry(
|
|
1439
|
+
data.positionCartographic,
|
|
1440
|
+
primitive.maximumScreenSpaceError,
|
|
1441
|
+
);
|
|
1442
|
+
if (defined(cachedData)) {
|
|
1443
|
+
// cache hit
|
|
1444
|
+
position = cachedData;
|
|
1445
|
+
} else {
|
|
1446
|
+
if (!defined(data.positionOnEllipsoidSurface)) {
|
|
1447
|
+
// cartesian has to be on the ellipsoid surface for `ellipsoid.geodeticSurfaceNormal`
|
|
1448
|
+
data.positionOnEllipsoidSurface = Cartesian3.fromRadians(
|
|
1449
|
+
data.positionCartographic.longitude,
|
|
1450
|
+
data.positionCartographic.latitude,
|
|
1451
|
+
0.0,
|
|
1452
|
+
ellipsoid,
|
|
1453
|
+
);
|
|
1454
|
+
}
|
|
1453
1455
|
|
|
1454
|
-
|
|
1456
|
+
if (mode === SceneMode.SCENE3D) {
|
|
1457
|
+
const surfaceNormal = ellipsoid.geodeticSurfaceNormal(
|
|
1458
|
+
data.positionOnEllipsoidSurface,
|
|
1459
|
+
scratchRay.direction,
|
|
1460
|
+
);
|
|
1455
1461
|
|
|
1456
|
-
|
|
1457
|
-
// minimum height (-11500.0) for the terrain set, need to get this information from the terrain provider
|
|
1458
|
-
const rayOrigin = ellipsoid.getSurfaceNormalIntersectionWithZAxis(
|
|
1459
|
-
data.positionOnEllipsoidSurface,
|
|
1460
|
-
11500.0,
|
|
1461
|
-
scratchRay.origin,
|
|
1462
|
-
);
|
|
1462
|
+
// compute origin point
|
|
1463
1463
|
|
|
1464
|
-
|
|
1465
|
-
if (!defined(rayOrigin)) {
|
|
1466
|
-
// intersection point is outside the ellipsoid, try other value
|
|
1464
|
+
// Try to find the intersection point between the surface normal and z-axis.
|
|
1467
1465
|
// minimum height (-11500.0) for the terrain set, need to get this information from the terrain provider
|
|
1468
|
-
|
|
1469
|
-
if (defined(tile.data.tileBoundingRegion)) {
|
|
1470
|
-
minimumHeight = tile.data.tileBoundingRegion.minimumHeight;
|
|
1471
|
-
}
|
|
1472
|
-
const magnitude = Math.min(minimumHeight, -11500.0);
|
|
1473
|
-
|
|
1474
|
-
// multiply by the *positive* value of the magnitude
|
|
1475
|
-
const vectorToMinimumPoint = Cartesian3.multiplyByScalar(
|
|
1476
|
-
surfaceNormal,
|
|
1477
|
-
Math.abs(magnitude) + 1,
|
|
1478
|
-
scratchPosition,
|
|
1479
|
-
);
|
|
1480
|
-
Cartesian3.subtract(
|
|
1466
|
+
const rayOrigin = ellipsoid.getSurfaceNormalIntersectionWithZAxis(
|
|
1481
1467
|
data.positionOnEllipsoidSurface,
|
|
1482
|
-
|
|
1468
|
+
11500.0,
|
|
1483
1469
|
scratchRay.origin,
|
|
1484
1470
|
);
|
|
1471
|
+
|
|
1472
|
+
// Theoretically, not with Earth datums, the intersection point can be outside the ellipsoid
|
|
1473
|
+
if (!defined(rayOrigin)) {
|
|
1474
|
+
// intersection point is outside the ellipsoid, try other value
|
|
1475
|
+
// minimum height (-11500.0) for the terrain set, need to get this information from the terrain provider
|
|
1476
|
+
let minimumHeight = 0.0;
|
|
1477
|
+
if (defined(tile.data.tileBoundingRegion)) {
|
|
1478
|
+
minimumHeight = tile.data.tileBoundingRegion.minimumHeight;
|
|
1479
|
+
}
|
|
1480
|
+
const magnitude = Math.min(minimumHeight, -11500.0);
|
|
1481
|
+
|
|
1482
|
+
// multiply by the *positive* value of the magnitude
|
|
1483
|
+
const vectorToMinimumPoint = Cartesian3.multiplyByScalar(
|
|
1484
|
+
surfaceNormal,
|
|
1485
|
+
Math.abs(magnitude) + 1,
|
|
1486
|
+
scratchPosition,
|
|
1487
|
+
);
|
|
1488
|
+
Cartesian3.subtract(
|
|
1489
|
+
data.positionOnEllipsoidSurface,
|
|
1490
|
+
vectorToMinimumPoint,
|
|
1491
|
+
scratchRay.origin,
|
|
1492
|
+
);
|
|
1493
|
+
}
|
|
1494
|
+
} else {
|
|
1495
|
+
Cartographic.clone(data.positionCartographic, scratchCartographic);
|
|
1496
|
+
|
|
1497
|
+
// minimum height for the terrain set, need to get this information from the terrain provider
|
|
1498
|
+
scratchCartographic.height = -11500.0;
|
|
1499
|
+
projection.project(scratchCartographic, scratchPosition);
|
|
1500
|
+
Cartesian3.fromElements(
|
|
1501
|
+
scratchPosition.z,
|
|
1502
|
+
scratchPosition.x,
|
|
1503
|
+
scratchPosition.y,
|
|
1504
|
+
scratchPosition,
|
|
1505
|
+
);
|
|
1506
|
+
Cartesian3.clone(scratchPosition, scratchRay.origin);
|
|
1507
|
+
Cartesian3.clone(Cartesian3.UNIT_X, scratchRay.direction);
|
|
1485
1508
|
}
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
Cartesian3.fromElements(
|
|
1493
|
-
scratchPosition.z,
|
|
1494
|
-
scratchPosition.x,
|
|
1495
|
-
scratchPosition.y,
|
|
1509
|
+
|
|
1510
|
+
position = tile.data.pick(
|
|
1511
|
+
scratchRay,
|
|
1512
|
+
mode,
|
|
1513
|
+
projection,
|
|
1514
|
+
false,
|
|
1496
1515
|
scratchPosition,
|
|
1497
1516
|
);
|
|
1498
|
-
Cartesian3.clone(scratchPosition, scratchRay.origin);
|
|
1499
|
-
Cartesian3.clone(Cartesian3.UNIT_X, scratchRay.direction);
|
|
1500
|
-
}
|
|
1501
1517
|
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1518
|
+
if (defined(position)) {
|
|
1519
|
+
// Store the computed position in the cache for future reuse
|
|
1520
|
+
tile.setPositionCacheEntry(
|
|
1521
|
+
data.positionCartographic,
|
|
1522
|
+
primitive.maximumScreenSpaceError,
|
|
1523
|
+
position,
|
|
1524
|
+
);
|
|
1525
|
+
}
|
|
1526
|
+
}
|
|
1509
1527
|
if (defined(position)) {
|
|
1510
1528
|
if (defined(data.callback)) {
|
|
1511
1529
|
data.callback(position);
|
|
@@ -4,6 +4,45 @@ import Rectangle from "../Core/Rectangle.js";
|
|
|
4
4
|
import QuadtreeTileLoadState from "./QuadtreeTileLoadState.js";
|
|
5
5
|
import TileSelectionResult from "./TileSelectionResult.js";
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* A simple Least Recently Used (LRU) cache implementation.
|
|
9
|
+
*/
|
|
10
|
+
class LRUCache {
|
|
11
|
+
constructor(maxSize) {
|
|
12
|
+
this.maxSize = maxSize;
|
|
13
|
+
this.cache = new Map();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
get(key) {
|
|
17
|
+
if (!this.cache.has(key)) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
// Move accessed item to the end (most recently used)
|
|
21
|
+
const value = this.cache.get(key);
|
|
22
|
+
this.cache.delete(key);
|
|
23
|
+
this.cache.set(key, value);
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
set(key, value) {
|
|
28
|
+
if (this.cache.has(key)) {
|
|
29
|
+
this.cache.delete(key);
|
|
30
|
+
} else if (this.cache.size >= this.maxSize) {
|
|
31
|
+
// Remove the least recently used (first entry)
|
|
32
|
+
const firstKey = this.cache.keys().next().value;
|
|
33
|
+
this.cache.delete(firstKey);
|
|
34
|
+
}
|
|
35
|
+
this.cache.set(key, value);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
clear() {
|
|
39
|
+
this.cache.clear();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Maximum cache entries per tile
|
|
44
|
+
const MAX_CACHE_ENTRIES = 1000;
|
|
45
|
+
|
|
7
46
|
/**
|
|
8
47
|
* A single tile in a {@link QuadtreePrimitive}.
|
|
9
48
|
*
|
|
@@ -74,6 +113,9 @@ function QuadtreeTile(options) {
|
|
|
74
113
|
this._lastSelectionResultFrame = undefined;
|
|
75
114
|
this._loadedCallbacks = {};
|
|
76
115
|
|
|
116
|
+
// Cache for storing computed position values per tile to avoid redundant calculations
|
|
117
|
+
this._positionCache = new LRUCache(MAX_CACHE_ENTRIES);
|
|
118
|
+
|
|
77
119
|
/**
|
|
78
120
|
* Gets or sets the current state of the tile in the tile load pipeline.
|
|
79
121
|
* @type {QuadtreeTileLoadState}
|
|
@@ -143,6 +185,132 @@ QuadtreeTile.createLevelZeroTiles = function (tilingScheme) {
|
|
|
143
185
|
return result;
|
|
144
186
|
};
|
|
145
187
|
|
|
188
|
+
/**
|
|
189
|
+
* Creates a spatial hash key for the given longitude, latitude, and tile level.
|
|
190
|
+
* The precision is adjusted based on the tile level and extent to achieve finer precision at higher levels.
|
|
191
|
+
*
|
|
192
|
+
* This function calculates the spatial hash key by first determining the precision at the given tile for the current maximum screenspace error (MAX_ERROR_PX),
|
|
193
|
+
* and then rounding the longitude and latitude to that precision for consistency.
|
|
194
|
+
*
|
|
195
|
+
* The steps for computing the level precision are as follows:
|
|
196
|
+
*
|
|
197
|
+
* 1. Compute the resolution (meters per pixel) at the given level:
|
|
198
|
+
* level_resolution_m = (2 * PI * RADIUS) / (2^level * TILE_SIZE)
|
|
199
|
+
*
|
|
200
|
+
* 2. Compute the target precision in meters:
|
|
201
|
+
* level_precision_m = level_resolution_m * MAX_ERROR_PX
|
|
202
|
+
*
|
|
203
|
+
* 3. Compute the target precision to radians:
|
|
204
|
+
* level_precision_rad = level_precision_m / BODY_RADIUS
|
|
205
|
+
*
|
|
206
|
+
* This simplifies to:
|
|
207
|
+
* level_precision_rad = (2 * PI * MAX_ERROR_PX) / (2^level * TILE_SIZE)
|
|
208
|
+
* which can also be written as:
|
|
209
|
+
* level_precision_rad = (PI * MAX_ERROR_PX) / (2^(level-1) * TILE_SIZE)
|
|
210
|
+
*
|
|
211
|
+
* The computed level_precision_rad is then used to round the input longitude and latitude,
|
|
212
|
+
* ensuring that positions that fall within the same spatial bin produce the same hash key.
|
|
213
|
+
*
|
|
214
|
+
* The constants below are computed once since they are fixed for the given configuration.
|
|
215
|
+
*
|
|
216
|
+
* @param {number} longitude - The longitude in radians.
|
|
217
|
+
* @param {number} latitude - The latitude in radians.
|
|
218
|
+
* @param {Rectangle} rectangle - The quadtree tile extents.
|
|
219
|
+
* @returns {string} A string representing the spatial hash key.
|
|
220
|
+
*/
|
|
221
|
+
const TILE_SIZE = 256;
|
|
222
|
+
|
|
223
|
+
function createSpatialHashKey(
|
|
224
|
+
longitude,
|
|
225
|
+
latitude,
|
|
226
|
+
rectangle,
|
|
227
|
+
maximumScreenSpaceError,
|
|
228
|
+
) {
|
|
229
|
+
// Adjust precision based on quadtree level - higher levels get finer precision
|
|
230
|
+
const maxError = (rectangle.width / TILE_SIZE) * maximumScreenSpaceError;
|
|
231
|
+
// Round to the grid precision
|
|
232
|
+
const lonGrid = Math.floor(longitude / maxError) * maxError;
|
|
233
|
+
const latGrid = Math.floor(latitude / maxError) * maxError;
|
|
234
|
+
return `${lonGrid.toFixed(10)},${latGrid.toFixed(10)}`;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Generates a unique cache key for a given cartographic position.
|
|
239
|
+
* @memberof QuadtreeTile
|
|
240
|
+
*
|
|
241
|
+
* @param {Cartographic} cartographic The cartographic coordinates.
|
|
242
|
+
* @param {number} maximumScreenSpaceError The maximum screen-space error, in pixels, that is allowed.
|
|
243
|
+
* A higher maximum error will render fewer tiles and improve performance, while a lower
|
|
244
|
+
* value will improve visual quality.
|
|
245
|
+
* @returns {string} A string representing the spatial hash key.
|
|
246
|
+
*/
|
|
247
|
+
QuadtreeTile.prototype._getCacheKey = function (
|
|
248
|
+
cartographic,
|
|
249
|
+
maximumScreenSpaceError,
|
|
250
|
+
) {
|
|
251
|
+
return createSpatialHashKey(
|
|
252
|
+
cartographic.longitude,
|
|
253
|
+
cartographic.latitude,
|
|
254
|
+
this._rectangle,
|
|
255
|
+
maximumScreenSpaceError,
|
|
256
|
+
);
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Retrieves a cached position for the specified cartographic position.
|
|
261
|
+
*
|
|
262
|
+
* @memberof QuadtreeTile
|
|
263
|
+
*
|
|
264
|
+
* @param {Cartographic} cartographic - The cartographic coordinates.
|
|
265
|
+
* @param {number} maximumScreenSpaceError The maximum screen-space error, in pixels, that is allowed.
|
|
266
|
+
* A higher maximum error will render fewer tiles and improve performance, while a lower
|
|
267
|
+
* value will improve visual quality.
|
|
268
|
+
* @returns {Object|undefined} The cached position data or undefined if not found.
|
|
269
|
+
*/
|
|
270
|
+
QuadtreeTile.prototype.getPositionCacheEntry = function (
|
|
271
|
+
cartographic,
|
|
272
|
+
maximumScreenSpaceError,
|
|
273
|
+
) {
|
|
274
|
+
return this._positionCache.get(
|
|
275
|
+
this._getCacheKey(cartographic, maximumScreenSpaceError),
|
|
276
|
+
);
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Sets a position on the cache for this tile.
|
|
281
|
+
*
|
|
282
|
+
* @memberof QuadtreeTile
|
|
283
|
+
*
|
|
284
|
+
* @param {Cartographic} cartographic - The cartographic coordinates.
|
|
285
|
+
* @param {number} maximumScreenSpaceError The maximum screen-space error, in pixels, that is allowed.
|
|
286
|
+
* A higher maximum error will render fewer tiles and improve performance, while a lower
|
|
287
|
+
* value will improve visual quality.
|
|
288
|
+
* @param {Object} value - The object to be cached.
|
|
289
|
+
*/
|
|
290
|
+
QuadtreeTile.prototype.setPositionCacheEntry = function (
|
|
291
|
+
cartographic,
|
|
292
|
+
maximumScreenSpaceError,
|
|
293
|
+
value,
|
|
294
|
+
) {
|
|
295
|
+
this._positionCache.set(
|
|
296
|
+
this._getCacheKey(cartographic, maximumScreenSpaceError),
|
|
297
|
+
value,
|
|
298
|
+
);
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Clears the position cache for this tile.
|
|
303
|
+
* This function removes all cached positions that were previously stored
|
|
304
|
+
* to optimize height computations.
|
|
305
|
+
*
|
|
306
|
+
* @memberof QuadtreeTile
|
|
307
|
+
*/
|
|
308
|
+
QuadtreeTile.prototype.clearPositionCache = function () {
|
|
309
|
+
if (this._positionCache.size > 0) {
|
|
310
|
+
this._positionCache.clear();
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
|
|
146
314
|
QuadtreeTile.prototype._updateCustomData = function (
|
|
147
315
|
frameNumber,
|
|
148
316
|
added,
|
|
@@ -513,6 +681,8 @@ QuadtreeTile.prototype.findTileToNorth = function (levelZeroTiles) {
|
|
|
513
681
|
* @memberof QuadtreeTile
|
|
514
682
|
*/
|
|
515
683
|
QuadtreeTile.prototype.freeResources = function () {
|
|
684
|
+
// Clears cached heights when the tile is freed
|
|
685
|
+
this.clearPositionCache();
|
|
516
686
|
this.state = QuadtreeTileLoadState.START;
|
|
517
687
|
this.renderable = false;
|
|
518
688
|
this.upsampledFromParent = false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Check from "../Core/Check.js";
|
|
2
|
-
import
|
|
2
|
+
import Frozen from "../Core/Frozen.js";
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
4
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
5
5
|
import BufferLoader from "./BufferLoader.js";
|
|
@@ -145,7 +145,7 @@ ResourceCache.unload = function (resourceLoader) {
|
|
|
145
145
|
* @private
|
|
146
146
|
*/
|
|
147
147
|
ResourceCache.getSchemaLoader = function (options) {
|
|
148
|
-
options =
|
|
148
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
149
149
|
const { schema, resource } = options;
|
|
150
150
|
|
|
151
151
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -187,7 +187,7 @@ ResourceCache.getSchemaLoader = function (options) {
|
|
|
187
187
|
* @private
|
|
188
188
|
*/
|
|
189
189
|
ResourceCache.getEmbeddedBufferLoader = function (options) {
|
|
190
|
-
options =
|
|
190
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
191
191
|
const { parentResource, bufferId, typedArray } = options;
|
|
192
192
|
|
|
193
193
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -227,7 +227,7 @@ ResourceCache.getEmbeddedBufferLoader = function (options) {
|
|
|
227
227
|
* @private
|
|
228
228
|
*/
|
|
229
229
|
ResourceCache.getExternalBufferLoader = function (options) {
|
|
230
|
-
options =
|
|
230
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
231
231
|
const { resource } = options;
|
|
232
232
|
|
|
233
233
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -264,7 +264,7 @@ ResourceCache.getExternalBufferLoader = function (options) {
|
|
|
264
264
|
* @private
|
|
265
265
|
*/
|
|
266
266
|
ResourceCache.getGltfJsonLoader = function (options) {
|
|
267
|
-
options =
|
|
267
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
268
268
|
const { gltfResource, baseResource, typedArray, gltfJson } = options;
|
|
269
269
|
|
|
270
270
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -306,7 +306,7 @@ ResourceCache.getGltfJsonLoader = function (options) {
|
|
|
306
306
|
* @private
|
|
307
307
|
*/
|
|
308
308
|
ResourceCache.getBufferViewLoader = function (options) {
|
|
309
|
-
options =
|
|
309
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
310
310
|
const { gltf, bufferViewId, gltfResource, baseResource } = options;
|
|
311
311
|
|
|
312
312
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -354,7 +354,7 @@ ResourceCache.getBufferViewLoader = function (options) {
|
|
|
354
354
|
* @private
|
|
355
355
|
*/
|
|
356
356
|
ResourceCache.getDracoLoader = function (options) {
|
|
357
|
-
options =
|
|
357
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
358
358
|
const { gltf, primitive, draco, gltfResource, baseResource } = options;
|
|
359
359
|
|
|
360
360
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -415,7 +415,7 @@ ResourceCache.getDracoLoader = function (options) {
|
|
|
415
415
|
* @private
|
|
416
416
|
*/
|
|
417
417
|
ResourceCache.getVertexBufferLoader = function (options) {
|
|
418
|
-
options =
|
|
418
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
419
419
|
const {
|
|
420
420
|
gltf,
|
|
421
421
|
gltfResource,
|
|
@@ -544,7 +544,7 @@ function hasDracoCompression(draco, semantic) {
|
|
|
544
544
|
* @private
|
|
545
545
|
*/
|
|
546
546
|
ResourceCache.getIndexBufferLoader = function (options) {
|
|
547
|
-
options =
|
|
547
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
548
548
|
const {
|
|
549
549
|
gltf,
|
|
550
550
|
accessorId,
|
|
@@ -617,7 +617,7 @@ ResourceCache.getIndexBufferLoader = function (options) {
|
|
|
617
617
|
* @private
|
|
618
618
|
*/
|
|
619
619
|
ResourceCache.getImageLoader = function (options) {
|
|
620
|
-
options =
|
|
620
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
621
621
|
const { gltf, imageId, gltfResource, baseResource } = options;
|
|
622
622
|
|
|
623
623
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -667,7 +667,7 @@ ResourceCache.getImageLoader = function (options) {
|
|
|
667
667
|
* @private
|
|
668
668
|
*/
|
|
669
669
|
ResourceCache.getTextureLoader = function (options) {
|
|
670
|
-
options =
|
|
670
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
671
671
|
const {
|
|
672
672
|
gltf,
|
|
673
673
|
textureInfo,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Check from "../Core/Check.js";
|
|
2
|
-
import
|
|
2
|
+
import Frozen from "../Core/Frozen.js";
|
|
3
3
|
import defined from "../Core/defined.js";
|
|
4
4
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
5
5
|
import getAbsoluteUri from "../Core/getAbsoluteUri.js";
|
|
@@ -24,7 +24,7 @@ function getBufferViewCacheKey(bufferView) {
|
|
|
24
24
|
|
|
25
25
|
if (hasExtension(bufferView, "EXT_meshopt_compression")) {
|
|
26
26
|
const meshopt = bufferView.extensions.EXT_meshopt_compression;
|
|
27
|
-
byteOffset =
|
|
27
|
+
byteOffset = meshopt.byteOffset ?? 0;
|
|
28
28
|
byteLength = meshopt.byteLength;
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -148,7 +148,7 @@ ResourceCacheKey.getSchemaCacheKey = function (options) {
|
|
|
148
148
|
* @private
|
|
149
149
|
*/
|
|
150
150
|
ResourceCacheKey.getExternalBufferCacheKey = function (options) {
|
|
151
|
-
options =
|
|
151
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
152
152
|
const { resource } = options;
|
|
153
153
|
|
|
154
154
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -169,7 +169,7 @@ ResourceCacheKey.getExternalBufferCacheKey = function (options) {
|
|
|
169
169
|
* @private
|
|
170
170
|
*/
|
|
171
171
|
ResourceCacheKey.getEmbeddedBufferCacheKey = function (options) {
|
|
172
|
-
options =
|
|
172
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
173
173
|
const { parentResource, bufferId } = options;
|
|
174
174
|
|
|
175
175
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -193,7 +193,7 @@ ResourceCacheKey.getEmbeddedBufferCacheKey = function (options) {
|
|
|
193
193
|
* @private
|
|
194
194
|
*/
|
|
195
195
|
ResourceCacheKey.getGltfCacheKey = function (options) {
|
|
196
|
-
options =
|
|
196
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
197
197
|
const { gltfResource } = options;
|
|
198
198
|
|
|
199
199
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -216,7 +216,7 @@ ResourceCacheKey.getGltfCacheKey = function (options) {
|
|
|
216
216
|
* @private
|
|
217
217
|
*/
|
|
218
218
|
ResourceCacheKey.getBufferViewCacheKey = function (options) {
|
|
219
|
-
options =
|
|
219
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
220
220
|
const { gltf, bufferViewId, gltfResource, baseResource } = options;
|
|
221
221
|
|
|
222
222
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -259,7 +259,7 @@ ResourceCacheKey.getBufferViewCacheKey = function (options) {
|
|
|
259
259
|
* @private
|
|
260
260
|
*/
|
|
261
261
|
ResourceCacheKey.getDracoCacheKey = function (options) {
|
|
262
|
-
options =
|
|
262
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
263
263
|
const { gltf, draco, gltfResource, baseResource } = options;
|
|
264
264
|
|
|
265
265
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -293,7 +293,7 @@ ResourceCacheKey.getDracoCacheKey = function (options) {
|
|
|
293
293
|
* @private
|
|
294
294
|
*/
|
|
295
295
|
ResourceCacheKey.getVertexBufferCacheKey = function (options) {
|
|
296
|
-
options =
|
|
296
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
297
297
|
const {
|
|
298
298
|
gltf,
|
|
299
299
|
gltfResource,
|
|
@@ -406,7 +406,7 @@ function hasDracoCompression(draco, semantic) {
|
|
|
406
406
|
* @private
|
|
407
407
|
*/
|
|
408
408
|
ResourceCacheKey.getIndexBufferCacheKey = function (options) {
|
|
409
|
-
options =
|
|
409
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
410
410
|
const {
|
|
411
411
|
gltf,
|
|
412
412
|
accessorId,
|
|
@@ -483,7 +483,7 @@ ResourceCacheKey.getIndexBufferCacheKey = function (options) {
|
|
|
483
483
|
* @private
|
|
484
484
|
*/
|
|
485
485
|
ResourceCacheKey.getImageCacheKey = function (options) {
|
|
486
|
-
options =
|
|
486
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
487
487
|
const { gltf, imageId, gltfResource, baseResource } = options;
|
|
488
488
|
|
|
489
489
|
//>>includeStart('debug', pragmas.debug);
|
|
@@ -518,7 +518,7 @@ ResourceCacheKey.getImageCacheKey = function (options) {
|
|
|
518
518
|
* @private
|
|
519
519
|
*/
|
|
520
520
|
ResourceCacheKey.getTextureCacheKey = function (options) {
|
|
521
|
-
options =
|
|
521
|
+
options = options ?? Frozen.EMPTY_OBJECT;
|
|
522
522
|
const {
|
|
523
523
|
gltf,
|
|
524
524
|
textureInfo,
|