@cesium/engine 11.0.0 → 12.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-HFPMX5L2.js → chunk-2B5H7KIN.js} +1 -1
- package/Build/Workers/{chunk-KKAEXHDY.js → chunk-2RHMHHJH.js} +2 -2
- package/Build/Workers/{chunk-AI3O7UN2.js → chunk-3OHDXGFC.js} +6 -6
- package/Build/Workers/{chunk-TTI2SUWJ.js → chunk-3OM5QZSI.js} +2 -2
- package/Build/Workers/{chunk-2EDC3QGH.js → chunk-3UJV3W4Y.js} +1 -1
- package/Build/Workers/{chunk-N3BIL6WA.js → chunk-3X2LXRHU.js} +13 -13
- package/Build/Workers/{chunk-FJT3ERV7.js → chunk-4ESQ3DN2.js} +9 -9
- package/Build/Workers/{chunk-HO2NTC7I.js → chunk-4IQPX22D.js} +6 -6
- package/Build/Workers/{chunk-L6FARMF6.js → chunk-4XPGN5Y7.js} +11 -11
- package/Build/Workers/{chunk-4NBRIKB3.js → chunk-56LALJCU.js} +2 -2
- package/Build/Workers/{chunk-HC7RYWPZ.js → chunk-5FSKL7US.js} +12 -12
- package/Build/Workers/{chunk-54VC7SCM.js → chunk-5YKJKOFE.js} +7 -7
- package/Build/Workers/{chunk-6ZREIBKS.js → chunk-62YGXNGC.js} +7 -7
- package/Build/Workers/{chunk-BH5ZEN4I.js → chunk-6DYMJ57Z.js} +10 -10
- package/Build/Workers/{chunk-AS7P4BHI.js → chunk-7DSVCRFD.js} +6 -6
- package/Build/Workers/{chunk-6FFGOENI.js → chunk-7OISMGQF.js} +46 -23
- package/Build/Workers/{chunk-BJ3WF5RW.js → chunk-AL7BHP36.js} +6 -6
- package/Build/Workers/{chunk-WQRXRDCZ.js → chunk-AOCENJVH.js} +11 -11
- package/Build/Workers/{chunk-2MKRG7L7.js → chunk-ARTM66DL.js} +5 -5
- package/Build/Workers/{chunk-VSFFJGTA.js → chunk-B4AZL6Q4.js} +5 -5
- package/Build/Workers/{chunk-5IY5BXCT.js → chunk-BQNTN4CC.js} +83 -79
- package/Build/Workers/{chunk-AUM45VEG.js → chunk-C4IAULHW.js} +15 -15
- package/Build/Workers/{chunk-6PJIHPQB.js → chunk-ES6Q5HWK.js} +13 -13
- package/Build/Workers/{chunk-DVAIU7A4.js → chunk-GKBICLGC.js} +19 -23
- package/Build/Workers/{chunk-IBG5FVXC.js → chunk-GMGUR5GM.js} +4 -4
- package/Build/Workers/{chunk-OOA6GXKD.js → chunk-GUW6BS72.js} +7 -7
- package/Build/Workers/{chunk-KFW4UNQH.js → chunk-GYHHNFW5.js} +15 -25
- package/Build/Workers/{chunk-GOHDOWU5.js → chunk-GZG526CC.js} +14 -14
- package/Build/Workers/{chunk-BZXF3GNX.js → chunk-HILBDZUP.js} +2 -2
- package/Build/Workers/{chunk-BBO6BGLC.js → chunk-HYUTWUXN.js} +13 -13
- package/Build/Workers/{chunk-HA6TZ3XT.js → chunk-IL6SMMDD.js} +4 -4
- package/Build/Workers/{chunk-T4MB73MC.js → chunk-IT6AWHFV.js} +2 -2
- package/Build/Workers/{chunk-SRZJCF7G.js → chunk-J64XIF5C.js} +10 -36
- package/Build/Workers/{chunk-BUOFSNFW.js → chunk-JGGZ3H4W.js} +1 -1
- package/Build/Workers/{chunk-SIZXFNJY.js → chunk-JRULXFCC.js} +5 -5
- package/Build/Workers/{chunk-QGT2GMOK.js → chunk-MSY2AAW2.js} +4 -4
- package/Build/Workers/{chunk-XLCZE6DD.js → chunk-QXBRZZQS.js} +10 -10
- package/Build/Workers/{chunk-JYUCC5NV.js → chunk-SXJ37VUC.js} +7 -7
- package/Build/Workers/{chunk-OC4MYPVW.js → chunk-T6FZFMTF.js} +2 -2
- package/Build/Workers/{chunk-OSCHEWSG.js → chunk-TQK4D4AR.js} +7 -7
- package/Build/Workers/{chunk-2RZYNSMR.js → chunk-US3L7FXC.js} +7 -9
- package/Build/Workers/{chunk-RFQYEYAL.js → chunk-VGT4ONMC.js} +18 -20
- package/Build/Workers/{chunk-VHJ5ESXF.js → chunk-VJVTWBXB.js} +1 -1
- package/Build/Workers/{chunk-RJF5ZP76.js → chunk-VQZNBD3T.js} +4 -4
- package/Build/Workers/{chunk-WXDGOYTT.js → chunk-VUCVRDLD.js} +7 -7
- package/Build/Workers/{chunk-DJXXI7UF.js → chunk-W2Q2F7JS.js} +5 -5
- package/Build/Workers/{chunk-HZPMWR4H.js → chunk-WQCX7U65.js} +7 -7
- package/Build/Workers/{chunk-HFMJM3SX.js → chunk-WW5RTJ72.js} +1 -1
- package/Build/Workers/{chunk-IXLNNST6.js → chunk-X67KKHI7.js} +4 -4
- package/Build/Workers/{chunk-4TK5YR6Q.js → chunk-X7VRF25X.js} +5 -5
- package/Build/Workers/{chunk-O5SSW3B3.js → chunk-YANQEHO5.js} +6 -6
- package/Build/Workers/{chunk-HBZSCVZC.js → chunk-ZZNBFQL5.js} +11 -11
- package/Build/Workers/combineGeometry.js +23 -25
- package/Build/Workers/createBoxGeometry.js +16 -16
- package/Build/Workers/createBoxOutlineGeometry.js +14 -14
- package/Build/Workers/createCircleGeometry.js +24 -24
- package/Build/Workers/createCircleOutlineGeometry.js +17 -17
- package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
- package/Build/Workers/createCorridorGeometry.js +27 -27
- package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
- package/Build/Workers/createCylinderGeometry.js +18 -18
- package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
- package/Build/Workers/createEllipseGeometry.js +24 -24
- package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
- package/Build/Workers/createEllipsoidGeometry.js +17 -17
- package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
- package/Build/Workers/createFrustumGeometry.js +16 -16
- package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
- package/Build/Workers/createGeometry.js +25 -26
- package/Build/Workers/createGroundPolylineGeometry.js +20 -20
- package/Build/Workers/createPlaneGeometry.js +14 -14
- package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
- package/Build/Workers/createPolygonGeometry.js +36 -40
- package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
- package/Build/Workers/createPolylineGeometry.js +23 -23
- package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
- package/Build/Workers/createRectangleGeometry.js +28 -30
- package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
- package/Build/Workers/createSimplePolylineGeometry.js +21 -21
- package/Build/Workers/createSphereGeometry.js +17 -17
- package/Build/Workers/createSphereOutlineGeometry.js +16 -16
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
- package/Build/Workers/createVectorTileGeometries.js +22 -22
- package/Build/Workers/createVectorTilePoints.js +12 -12
- package/Build/Workers/createVectorTilePolygons.js +20 -20
- package/Build/Workers/createVectorTilePolylines.js +13 -13
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
- package/Build/Workers/createVerticesFromHeightmap.js +22 -26
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
- package/Build/Workers/createWallGeometry.js +22 -22
- package/Build/Workers/createWallOutlineGeometry.js +21 -21
- package/Build/Workers/decodeDraco.js +11 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/transcodeKTX2.js +7 -7
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
- package/Source/Core/ApproximateTerrainHeights.js +15 -15
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
- package/Source/Core/AttributeCompression.js +12 -12
- package/Source/Core/AxisAlignedBoundingBox.js +2 -2
- package/Source/Core/BingMapsGeocoderService.js +1 -1
- package/Source/Core/BoundingRectangle.js +3 -3
- package/Source/Core/BoundingSphere.js +45 -45
- package/Source/Core/BoxGeometry.js +6 -6
- package/Source/Core/BoxOutlineGeometry.js +3 -3
- package/Source/Core/Cartesian2.js +7 -7
- package/Source/Core/Cartesian3.js +20 -20
- package/Source/Core/Cartesian4.js +8 -8
- package/Source/Core/Cartographic.js +6 -6
- package/Source/Core/CatmullRomSpline.js +6 -6
- package/Source/Core/CesiumTerrainProvider.js +66 -68
- package/Source/Core/Check.d.ts +3 -3
- package/Source/Core/Check.js +11 -11
- package/Source/Core/CircleGeometry.js +6 -6
- package/Source/Core/CircleOutlineGeometry.js +4 -4
- package/Source/Core/Clock.js +4 -4
- package/Source/Core/Color.js +12 -9
- package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
- package/Source/Core/ComponentDatatype.js +4 -4
- package/Source/Core/CompressedTextureBuffer.js +2 -2
- package/Source/Core/ConstantSpline.js +1 -1
- package/Source/Core/CoplanarPolygonGeometry.js +44 -41
- package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
- package/Source/Core/CorridorGeometry.js +77 -77
- package/Source/Core/CorridorGeometryLibrary.js +48 -48
- package/Source/Core/CorridorOutlineGeometry.js +16 -16
- package/Source/Core/CullingVolume.js +4 -4
- package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
- package/Source/Core/CylinderGeometry.js +8 -8
- package/Source/Core/CylinderGeometryLibrary.js +1 -1
- package/Source/Core/CylinderOutlineGeometry.js +4 -4
- package/Source/Core/DeveloperError.js +1 -1
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
- package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
- package/Source/Core/EarthOrientationParameters.js +21 -25
- package/Source/Core/EarthOrientationParametersSample.js +1 -1
- package/Source/Core/EllipseGeometry.js +55 -56
- package/Source/Core/EllipseGeometryLibrary.js +12 -12
- package/Source/Core/EllipseOutlineGeometry.js +19 -19
- package/Source/Core/Ellipsoid.js +25 -33
- package/Source/Core/EllipsoidGeodesic.js +18 -17
- package/Source/Core/EllipsoidGeometry.js +9 -8
- package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
- package/Source/Core/EllipsoidRhumbLine.js +33 -32
- package/Source/Core/EllipsoidTangentPlane.js +16 -16
- package/Source/Core/EllipsoidTerrainProvider.js +11 -10
- package/Source/Core/EllipsoidalOccluder.js +110 -130
- package/Source/Core/FeatureDetection.js +4 -4
- package/Source/Core/FrustumGeometry.js +15 -15
- package/Source/Core/FrustumOutlineGeometry.js +4 -4
- package/Source/Core/GeographicTilingScheme.js +6 -6
- package/Source/Core/Geometry.js +15 -17
- package/Source/Core/GeometryAttribute.js +4 -9
- package/Source/Core/GeometryAttributes.js +6 -6
- package/Source/Core/GeometryInstance.js +3 -4
- package/Source/Core/GeometryInstanceAttribute.js +1 -6
- package/Source/Core/GeometryPipeline.js +133 -137
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
- package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
- package/Source/Core/GoogleMaps.js +1 -1
- package/Source/Core/GregorianDate.js +4 -4
- package/Source/Core/GroundPolylineGeometry.js +104 -104
- package/Source/Core/HeadingPitchRoll.js +7 -7
- package/Source/Core/HeightmapTerrainData.js +58 -54
- package/Source/Core/HeightmapTessellator.js +22 -23
- package/Source/Core/HermitePolynomialApproximation.js +8 -8
- package/Source/Core/HermiteSpline.js +11 -11
- package/Source/Core/HilbertOrder.js +1 -1
- package/Source/Core/Iau2006XysData.js +6 -6
- package/Source/Core/IauOrientationAxes.js +2 -2
- package/Source/Core/IauOrientationParameters.js +1 -1
- package/Source/Core/IndexDatatype.js +5 -5
- package/Source/Core/IntersectionTests.js +36 -78
- package/Source/Core/Intersections2D.js +3 -3
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +2 -2
- package/Source/Core/IonResource.js +5 -5
- package/Source/Core/Iso8601.js +3 -3
- package/Source/Core/JulianDate.js +23 -33
- package/Source/Core/KTX2Transcoder.js +2 -2
- package/Source/Core/LagrangePolynomialApproximation.js +1 -1
- package/Source/Core/LinearApproximation.js +4 -4
- package/Source/Core/LinearSpline.js +2 -2
- package/Source/Core/Math.js +6 -4
- package/Source/Core/Matrix2.js +3 -3
- package/Source/Core/Matrix3.js +16 -16
- package/Source/Core/Matrix4.js +31 -31
- package/Source/Core/MorphWeightSpline.js +2 -2
- package/Source/Core/NearFarScalar.js +1 -1
- package/Source/Core/Occluder.js +52 -56
- package/Source/Core/OpenCageGeocoderService.js +2 -2
- package/Source/Core/OrientedBoundingBox.js +52 -51
- package/Source/Core/OrthographicFrustum.js +11 -11
- package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
- package/Source/Core/PeliasGeocoderService.js +1 -1
- package/Source/Core/PerspectiveFrustum.js +61 -55
- package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
- package/Source/Core/PinBuilder.js +1 -1
- package/Source/Core/PixelFormat.js +6 -6
- package/Source/Core/Plane.js +9 -9
- package/Source/Core/PlaneGeometry.js +1 -1
- package/Source/Core/PolygonGeometry.js +95 -94
- package/Source/Core/PolygonGeometryLibrary.js +49 -51
- package/Source/Core/PolygonOutlineGeometry.js +49 -51
- package/Source/Core/PolygonPipeline.js +31 -31
- package/Source/Core/PolylineGeometry.js +10 -10
- package/Source/Core/PolylinePipeline.js +25 -25
- package/Source/Core/PolylineVolumeGeometry.js +9 -9
- package/Source/Core/PolylineVolumeGeometryLibrary.js +53 -53
- package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
- package/Source/Core/QuadraticRealPolynomial.js +1 -1
- package/Source/Core/QuantizedMeshTerrainData.js +28 -28
- package/Source/Core/QuarticRealPolynomial.js +1 -1
- package/Source/Core/Quaternion.js +19 -19
- package/Source/Core/QuaternionSpline.js +2 -2
- package/Source/Core/Rectangle.js +34 -13
- package/Source/Core/RectangleCollisionChecker.js +3 -3
- package/Source/Core/RectangleGeometry.js +55 -56
- package/Source/Core/RectangleGeometryLibrary.js +8 -8
- package/Source/Core/RectangleOutlineGeometry.js +20 -20
- package/Source/Core/RequestScheduler.js +6 -6
- package/Source/Core/Resource.js +24 -24
- package/Source/Core/S2Cell.js +16 -80
- package/Source/Core/ScreenSpaceEventHandler.js +54 -53
- package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
- package/Source/Core/SimplePolylineGeometry.js +7 -7
- package/Source/Core/SphereGeometry.js +2 -2
- package/Source/Core/SphereOutlineGeometry.js +3 -3
- package/Source/Core/Spline.js +1 -1
- package/Source/Core/SteppedSpline.js +1 -1
- package/Source/Core/Stereographic.js +9 -9
- package/Source/Core/TaskProcessor.js +13 -13
- package/Source/Core/TerrainEncoding.js +33 -38
- package/Source/Core/TerrainMesh.js +1 -1
- package/Source/Core/TerrainProvider.js +12 -12
- package/Source/Core/TileAvailability.js +28 -28
- package/Source/Core/TileProviderError.js +5 -5
- package/Source/Core/TilingScheme.js +1 -1
- package/Source/Core/TimeInterval.js +4 -4
- package/Source/Core/TimeIntervalCollection.js +16 -15
- package/Source/Core/Tipsify.js +2 -2
- package/Source/Core/Transforms.js +52 -54
- package/Source/Core/TranslationRotationScale.js +1 -1
- package/Source/Core/TridiagonalSystemSolver.js +4 -4
- package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
- package/Source/Core/VertexFormat.js +6 -6
- package/Source/Core/VerticalExaggeration.js +4 -4
- package/Source/Core/VideoSynchronizer.js +1 -1
- package/Source/Core/WallGeometry.js +18 -18
- package/Source/Core/WallGeometryLibrary.js +7 -7
- package/Source/Core/WallOutlineGeometry.js +8 -8
- package/Source/Core/WebMercatorProjection.js +5 -6
- package/Source/Core/WebMercatorTilingScheme.js +13 -13
- package/Source/Core/WireframeIndexGenerator.js +8 -8
- package/Source/Core/arrayRemoveDuplicates.js +1 -1
- package/Source/Core/buildModuleUrl.js +2 -2
- package/Source/Core/decodeGoogleEarthEnterpriseData.js +4 -4
- package/Source/Core/decodeVectorPolylinePositions.js +4 -4
- package/Source/Core/destroyObject.js +1 -1
- package/Source/Core/getJsonFromTypedArray.js +1 -1
- package/Source/Core/getMagic.js +1 -1
- package/Source/Core/loadImageFromTypedArray.js +2 -2
- package/Source/Core/loadKTX2.js +1 -1
- package/Source/Core/pointInsideTriangle.js +1 -1
- package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
- package/Source/Core/sampleTerrain.js +7 -7
- package/Source/Core/sampleTerrainMostDetailed.js +7 -7
- package/Source/Core/scaleToGeodeticSurface.js +3 -3
- package/Source/Core/srgbToLinear.js +1 -1
- package/Source/Core/writeTextToCanvas.js +1 -1
- package/Source/DataSources/BillboardGraphics.js +13 -13
- package/Source/DataSources/BillboardVisualizer.js +24 -24
- package/Source/DataSources/BoxGeometryUpdater.js +33 -32
- package/Source/DataSources/BoxGraphics.js +3 -3
- package/Source/DataSources/CallbackPositionProperty.js +173 -0
- package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
- package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
- package/Source/DataSources/ColorMaterialProperty.js +1 -1
- package/Source/DataSources/CompositeEntityCollection.js +14 -15
- package/Source/DataSources/CompositeMaterialProperty.js +5 -7
- package/Source/DataSources/CompositePositionProperty.js +4 -5
- package/Source/DataSources/CompositeProperty.js +2 -2
- package/Source/DataSources/ConstantPositionProperty.js +2 -2
- package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
- package/Source/DataSources/CorridorGraphics.js +6 -6
- package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
- package/Source/DataSources/CylinderGraphics.js +4 -4
- package/Source/DataSources/CzmlDataSource.js +365 -368
- package/Source/DataSources/DataSourceCollection.js +1 -1
- package/Source/DataSources/DataSourceDisplay.js +24 -24
- package/Source/DataSources/DynamicGeometryBatch.js +2 -2
- package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
- package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
- package/Source/DataSources/EllipseGraphics.js +7 -7
- package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
- package/Source/DataSources/EllipsoidGraphics.js +5 -5
- package/Source/DataSources/Entity.js +13 -13
- package/Source/DataSources/EntityCluster.js +29 -27
- package/Source/DataSources/EntityCollection.js +7 -7
- package/Source/DataSources/EntityView.js +23 -23
- package/Source/DataSources/GeoJsonDataSource.js +25 -25
- package/Source/DataSources/GeometryUpdater.js +9 -10
- package/Source/DataSources/GeometryUpdaterSet.js +3 -3
- package/Source/DataSources/GeometryVisualizer.js +65 -71
- package/Source/DataSources/GpxDataSource.js +10 -10
- package/Source/DataSources/GridMaterialProperty.js +5 -5
- package/Source/DataSources/GroundGeometryUpdater.js +6 -6
- package/Source/DataSources/ImageMaterialProperty.js +2 -2
- package/Source/DataSources/KmlDataSource.js +212 -212
- package/Source/DataSources/LabelGraphics.js +14 -14
- package/Source/DataSources/LabelVisualizer.js +24 -24
- package/Source/DataSources/ModelGraphics.js +38 -17
- package/Source/DataSources/ModelVisualizer.js +41 -32
- package/Source/DataSources/NodeTransformationProperty.js +3 -3
- package/Source/DataSources/PathGraphics.js +2 -2
- package/Source/DataSources/PathVisualizer.js +99 -35
- package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
- package/Source/DataSources/PlaneGraphics.js +2 -2
- package/Source/DataSources/PointGraphics.js +8 -8
- package/Source/DataSources/PointVisualizer.js +29 -29
- package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
- package/Source/DataSources/PolygonGraphics.js +9 -9
- package/Source/DataSources/PolylineArrowMaterialProperty.js +1 -1
- package/Source/DataSources/PolylineDashMaterialProperty.js +4 -4
- package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
- package/Source/DataSources/PolylineGlowMaterialProperty.js +3 -3
- package/Source/DataSources/PolylineGraphics.js +4 -4
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +3 -3
- package/Source/DataSources/PolylineVisualizer.js +39 -43
- package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
- package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
- package/Source/DataSources/PositionProperty.js +4 -3
- package/Source/DataSources/PositionPropertyArray.js +3 -3
- package/Source/DataSources/Property.js +1 -1
- package/Source/DataSources/PropertyArray.js +1 -1
- package/Source/DataSources/PropertyBag.js +5 -5
- package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
- package/Source/DataSources/RectangleGraphics.js +6 -6
- package/Source/DataSources/ReferenceProperty.js +6 -6
- package/Source/DataSources/Rotation.js +2 -2
- package/Source/DataSources/SampledPositionProperty.js +6 -6
- package/Source/DataSources/SampledProperty.js +16 -16
- package/Source/DataSources/ScaledPositionProperty.js +2 -2
- package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
- package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
- package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
- package/Source/DataSources/StripeMaterialProperty.js +2 -2
- package/Source/DataSources/TerrainOffsetProperty.js +11 -11
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +28 -30
- package/Source/DataSources/TimeIntervalCollectionProperty.js +1 -1
- package/Source/DataSources/VelocityOrientationProperty.js +3 -3
- package/Source/DataSources/VelocityVectorProperty.js +4 -4
- package/Source/DataSources/WallGeometryUpdater.js +25 -25
- package/Source/DataSources/WallGraphics.js +4 -4
- package/Source/DataSources/createPropertyDescriptor.js +3 -3
- package/Source/DataSources/exportKml.js +90 -86
- package/Source/DataSources/getElement.js +1 -1
- package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
- package/Source/Renderer/AutomaticUniforms.js +14 -1
- package/Source/Renderer/Buffer.js +18 -18
- package/Source/Renderer/ClearCommand.js +1 -1
- package/Source/Renderer/ComputeEngine.js +1 -1
- package/Source/Renderer/Context.js +40 -40
- package/Source/Renderer/CubeMap.js +109 -32
- package/Source/Renderer/CubeMapFace.js +109 -32
- package/Source/Renderer/DrawCommand.js +50 -5
- package/Source/Renderer/Framebuffer.js +48 -49
- package/Source/Renderer/FramebufferManager.js +40 -34
- package/Source/Renderer/MultisampleFramebuffer.js +35 -14
- package/Source/Renderer/RenderState.js +36 -36
- package/Source/Renderer/Renderbuffer.js +3 -3
- package/Source/Renderer/Sampler.js +2 -2
- package/Source/Renderer/ShaderBuilder.js +8 -8
- package/Source/Renderer/ShaderCache.js +11 -15
- package/Source/Renderer/ShaderFunction.js +1 -1
- package/Source/Renderer/ShaderProgram.js +15 -15
- package/Source/Renderer/ShaderSource.js +40 -40
- package/Source/Renderer/Texture.js +74 -63
- package/Source/Renderer/UniformState.js +78 -58
- package/Source/Renderer/VertexArray.js +20 -20
- package/Source/Renderer/VertexArrayFacade.js +15 -16
- package/Source/Renderer/createUniform.js +1 -1
- package/Source/Renderer/createUniformArray.js +4 -4
- package/Source/Renderer/demodernizeShader.js +5 -5
- package/Source/Renderer/loadCubeMap.js +1 -1
- package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
- package/Source/Scene/ArcGisMapService.js +4 -7
- package/Source/Scene/Atmosphere.js +22 -0
- package/Source/Scene/AutoExposure.js +4 -5
- package/Source/Scene/Axis.js +6 -6
- package/Source/Scene/B3dmParser.js +9 -9
- package/Source/Scene/BatchTable.js +7 -7
- package/Source/Scene/BatchTableHierarchy.js +62 -59
- package/Source/Scene/BatchTexture.js +2 -2
- package/Source/Scene/Billboard.js +45 -43
- package/Source/Scene/BillboardCollection.js +81 -83
- package/Source/Scene/BingMapsImageryProvider.js +13 -13
- package/Source/Scene/BoundingVolumeSemantics.js +10 -10
- package/Source/Scene/BoxEmitter.js +1 -1
- package/Source/Scene/BufferLoader.js +1 -1
- package/Source/Scene/Camera.js +161 -164
- package/Source/Scene/CameraEventAggregator.js +18 -18
- package/Source/Scene/CameraFlightPath.js +25 -25
- package/Source/Scene/Cesium3DTile.js +89 -95
- package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
- package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
- package/Source/Scene/Cesium3DTileFeature.js +1 -1
- package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
- package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
- package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
- package/Source/Scene/Cesium3DTileStyle.js +26 -24
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
- package/Source/Scene/Cesium3DTileset.js +120 -83
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
- package/Source/Scene/Cesium3DTilesetCache.js +2 -2
- package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
- package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
- package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
- package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
- package/Source/Scene/ClassificationPrimitive.js +70 -69
- package/Source/Scene/ClippingPlaneCollection.js +39 -41
- package/Source/Scene/ClippingPolygon.js +8 -8
- package/Source/Scene/ClippingPolygonCollection.js +62 -63
- package/Source/Scene/CloudCollection.js +3 -10
- package/Source/Scene/Composite3DTileContent.js +6 -6
- package/Source/Scene/ConditionsExpression.js +5 -5
- package/Source/Scene/ContentMetadata.js +4 -4
- package/Source/Scene/CreditDisplay.js +8 -8
- package/Source/Scene/CumulusCloud.js +4 -4
- package/Source/Scene/DebugAppearance.js +2 -2
- package/Source/Scene/DebugCameraPrimitive.js +2 -2
- package/Source/Scene/DebugInspector.js +3 -3
- package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
- package/Source/Scene/DepthPlane.js +7 -7
- package/Source/Scene/DerivedCommand.js +422 -238
- package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
- package/Source/Scene/DracoLoader.js +3 -3
- package/Source/Scene/DynamicEnvironmentMapManager.js +852 -0
- package/Source/Scene/EllipsoidPrimitive.js +7 -7
- package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
- package/Source/Scene/Empty3DTileContent.js +1 -1
- package/Source/Scene/Expression.js +91 -91
- package/Source/Scene/Fog.js +76 -116
- package/Source/Scene/FrameRateMonitor.js +22 -22
- package/Source/Scene/FrameState.js +36 -3
- package/Source/Scene/Geometry3DTileContent.js +20 -20
- package/Source/Scene/GetFeatureInfoFormat.js +15 -14
- package/Source/Scene/Globe.js +32 -27
- package/Source/Scene/GlobeDepth.js +95 -66
- package/Source/Scene/GlobeSurfaceShaderSet.js +12 -10
- package/Source/Scene/GlobeSurfaceTile.js +33 -33
- package/Source/Scene/GlobeSurfaceTileProvider.js +127 -124
- package/Source/Scene/GlobeTranslucency.js +4 -4
- package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
- package/Source/Scene/GlobeTranslucencyState.js +53 -55
- package/Source/Scene/GltfBufferViewLoader.js +2 -2
- package/Source/Scene/GltfIndexBufferLoader.js +5 -5
- package/Source/Scene/GltfJsonLoader.js +2 -2
- package/Source/Scene/GltfLoader.js +177 -100
- package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
- package/Source/Scene/GltfTextureLoader.js +5 -5
- package/Source/Scene/GltfVertexBufferLoader.js +12 -13
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
- package/Source/Scene/GridImageryProvider.js +2 -2
- package/Source/Scene/GroundPolylinePrimitive.js +38 -39
- package/Source/Scene/GroundPrimitive.js +47 -45
- package/Source/Scene/GroupMetadata.js +4 -4
- package/Source/Scene/I3SDataProvider.js +12 -12
- package/Source/Scene/I3SDecoder.js +7 -8
- package/Source/Scene/I3SField.js +8 -8
- package/Source/Scene/I3SGeometry.js +14 -14
- package/Source/Scene/I3SLayer.js +26 -20
- package/Source/Scene/I3SNode.js +17 -17
- package/Source/Scene/I3SSublayer.js +4 -4
- package/Source/Scene/I3SSymbology.js +8 -8
- package/Source/Scene/I3dmParser.js +9 -9
- package/Source/Scene/ImageBasedLighting.js +32 -87
- package/Source/Scene/Imagery.js +3 -3
- package/Source/Scene/ImageryLayer.js +64 -66
- package/Source/Scene/ImageryLayerCollection.js +13 -15
- package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
- package/Source/Scene/ImageryProvider.js +1 -1
- package/Source/Scene/Implicit3DTileContent.js +34 -37
- package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
- package/Source/Scene/ImplicitMetadataView.js +2 -2
- package/Source/Scene/ImplicitSubtree.js +29 -30
- package/Source/Scene/ImplicitSubtreeCache.js +1 -1
- package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
- package/Source/Scene/ImplicitTileCoordinates.js +11 -11
- package/Source/Scene/ImplicitTileset.js +2 -2
- package/Source/Scene/InvertClassification.js +7 -7
- package/Source/Scene/IonImageryProvider.js +6 -6
- package/Source/Scene/JobScheduler.js +4 -4
- package/Source/Scene/Label.js +29 -29
- package/Source/Scene/LabelCollection.js +17 -15
- package/Source/Scene/MapboxImageryProvider.js +3 -3
- package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
- package/Source/Scene/Material.js +26 -27
- package/Source/Scene/MaterialAppearance.js +4 -4
- package/Source/Scene/Megatexture.js +21 -24
- package/Source/Scene/MetadataClassProperty.js +11 -11
- package/Source/Scene/MetadataComponentType.js +1 -1
- package/Source/Scene/MetadataEntity.js +8 -8
- package/Source/Scene/MetadataEnum.js +1 -1
- package/Source/Scene/MetadataPicking.js +305 -0
- package/Source/Scene/MetadataSchemaLoader.js +1 -1
- package/Source/Scene/MetadataTable.js +2 -2
- package/Source/Scene/MetadataTableProperty.js +22 -22
- package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
- package/Source/Scene/Model/AtmospherePipelineStage.js +13 -8
- package/Source/Scene/Model/B3dmLoader.js +8 -8
- package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
- package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
- package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
- package/Source/Scene/Model/CustomShader.js +9 -9
- package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
- package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
- package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
- package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
- package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
- package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
- package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
- package/Source/Scene/Model/GeoJsonLoader.js +17 -17
- package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
- package/Source/Scene/Model/I3dmLoader.js +36 -36
- package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +56 -34
- package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
- package/Source/Scene/Model/LightingPipelineStage.js +4 -4
- package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
- package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
- package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
- package/Source/Scene/Model/Model.js +228 -75
- package/Source/Scene/Model/Model3DTileContent.js +37 -13
- package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
- package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
- package/Source/Scene/Model/ModelArticulation.js +2 -2
- package/Source/Scene/Model/ModelArticulationStage.js +4 -4
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
- package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
- package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
- package/Source/Scene/Model/ModelDrawCommand.js +5 -5
- package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
- package/Source/Scene/Model/ModelFeatureTable.js +5 -5
- package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
- package/Source/Scene/Model/ModelRenderResources.js +1 -1
- package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
- package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
- package/Source/Scene/Model/ModelSceneGraph.js +43 -43
- package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
- package/Source/Scene/Model/ModelSkin.js +4 -4
- package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
- package/Source/Scene/Model/ModelUtility.js +5 -5
- package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
- package/Source/Scene/Model/NodeRenderResources.js +1 -1
- package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
- package/Source/Scene/Model/PickingPipelineStage.js +5 -5
- package/Source/Scene/Model/PntsLoader.js +7 -7
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
- package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
- package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
- package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
- package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
- package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
- package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
- package/Source/Scene/Model/TextureManager.js +2 -2
- package/Source/Scene/Model/TextureUniform.js +3 -3
- package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
- package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
- package/Source/Scene/Model/WireframePipelineStage.js +7 -7
- package/Source/Scene/Model/pickModel.js +26 -26
- package/Source/Scene/ModelComponents.js +13 -4
- package/Source/Scene/Moon.js +6 -5
- package/Source/Scene/Multiple3DTileContent.js +15 -14
- package/Source/Scene/OIT.js +48 -97
- package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
- package/Source/Scene/Particle.js +3 -3
- package/Source/Scene/ParticleEmitter.js +1 -1
- package/Source/Scene/ParticleSystem.js +32 -32
- package/Source/Scene/PerInstanceColorAppearance.js +1 -1
- package/Source/Scene/PickDepth.js +16 -4
- package/Source/Scene/PickDepthFramebuffer.js +1 -1
- package/Source/Scene/PickFramebuffer.js +24 -12
- package/Source/Scene/PickedMetadataInfo.js +39 -0
- package/Source/Scene/Picking.js +270 -120
- package/Source/Scene/PntsParser.js +28 -28
- package/Source/Scene/PointCloud.js +39 -38
- package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
- package/Source/Scene/PointCloudShading.js +3 -3
- package/Source/Scene/PointPrimitive.js +31 -28
- package/Source/Scene/PointPrimitiveCollection.js +34 -33
- package/Source/Scene/Polyline.js +9 -9
- package/Source/Scene/PolylineCollection.js +55 -57
- package/Source/Scene/PolylineColorAppearance.js +3 -3
- package/Source/Scene/PolylineMaterialAppearance.js +3 -3
- package/Source/Scene/PostProcessStage.js +95 -115
- package/Source/Scene/PostProcessStageCollection.js +35 -41
- package/Source/Scene/PostProcessStageComposite.js +2 -2
- package/Source/Scene/PostProcessStageLibrary.js +5 -5
- package/Source/Scene/PostProcessStageTextureCache.js +10 -10
- package/Source/Scene/Primitive.js +93 -93
- package/Source/Scene/PrimitiveCollection.js +1 -1
- package/Source/Scene/PrimitiveLoadPlan.js +1 -1
- package/Source/Scene/PrimitivePipeline.js +30 -30
- package/Source/Scene/PropertyTable.js +5 -5
- package/Source/Scene/PropertyTextureProperty.js +36 -7
- package/Source/Scene/QuadtreePrimitive.js +56 -58
- package/Source/Scene/QuadtreeTile.js +4 -4
- package/Source/Scene/QuadtreeTileProvider.js +1 -1
- package/Source/Scene/ResourceCache.js +7 -7
- package/Source/Scene/ResourceCacheKey.js +15 -15
- package/Source/Scene/Scene.js +879 -657
- package/Source/Scene/SceneFramebuffer.js +2 -2
- package/Source/Scene/SceneTransforms.js +30 -30
- package/Source/Scene/SceneTransitioner.js +47 -47
- package/Source/Scene/ScreenSpaceCameraController.js +180 -154
- package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
- package/Source/Scene/ShadowMap.js +71 -72
- package/Source/Scene/ShadowMapShader.js +9 -9
- package/Source/Scene/ShadowVolumeAppearance.js +39 -39
- package/Source/Scene/SingleTileImageryProvider.js +3 -3
- package/Source/Scene/SkyAtmosphere.js +8 -8
- package/Source/Scene/SkyBox.js +7 -8
- package/Source/Scene/SpatialNode.js +13 -13
- package/Source/Scene/SphereEmitter.js +1 -1
- package/Source/Scene/StructuralMetadata.js +1 -1
- package/Source/Scene/StyleExpression.js +1 -1
- package/Source/Scene/Sun.js +11 -7
- package/Source/Scene/SunPostProcess.js +6 -6
- package/Source/Scene/TerrainFillMesh.js +157 -156
- package/Source/Scene/TextureAtlas.js +11 -11
- package/Source/Scene/TileBoundingRegion.js +31 -31
- package/Source/Scene/TileBoundingS2Cell.js +37 -40
- package/Source/Scene/TileBoundingSphere.js +2 -2
- package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
- package/Source/Scene/TileImagery.js +7 -11
- package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
- package/Source/Scene/TileMetadata.js +4 -4
- package/Source/Scene/TileOrientedBoundingBox.js +6 -6
- package/Source/Scene/Tileset3DTileContent.js +1 -1
- package/Source/Scene/TilesetMetadata.js +4 -4
- package/Source/Scene/TimeDynamicImagery.js +3 -3
- package/Source/Scene/TimeDynamicPointCloud.js +9 -9
- package/Source/Scene/TranslucentTileClassification.js +48 -58
- package/Source/Scene/TweenCollection.js +9 -9
- package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
- package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
- package/Source/Scene/Vector3DTileContent.js +38 -39
- package/Source/Scene/Vector3DTileGeometry.js +11 -8
- package/Source/Scene/Vector3DTilePoints.js +18 -22
- package/Source/Scene/Vector3DTilePolygons.js +6 -6
- package/Source/Scene/Vector3DTilePolylines.js +8 -8
- package/Source/Scene/Vector3DTilePrimitive.js +30 -31
- package/Source/Scene/View.js +111 -80
- package/Source/Scene/VoxelBoxShape.js +34 -34
- package/Source/Scene/VoxelCell.js +7 -7
- package/Source/Scene/VoxelContent.js +1 -1
- package/Source/Scene/VoxelCylinderShape.js +48 -48
- package/Source/Scene/VoxelEllipsoidShape.js +83 -97
- package/Source/Scene/VoxelPrimitive.js +80 -80
- package/Source/Scene/VoxelRenderResources.js +13 -13
- package/Source/Scene/VoxelTraversal.js +41 -41
- package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
- package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
- package/Source/Scene/buildVoxelDrawCommands.js +10 -14
- package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
- package/Source/Scene/createBillboardPointCallback.js +2 -2
- package/Source/Scene/createElevationBandMaterial.js +8 -8
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
- package/Source/Scene/createOsmBuildingsAsync.js +1 -1
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
- package/Source/Scene/findContentMetadata.js +2 -2
- package/Source/Scene/findTileMetadata.js +2 -2
- package/Source/Scene/getBinaryAccessor.js +1 -1
- package/Source/Scene/getClipAndStyleCode.js +1 -1
- package/Source/Scene/getClippingFunction.js +1 -1
- package/Source/Scene/getMetadataClassProperty.js +43 -0
- package/Source/Scene/parseBatchTable.js +21 -24
- package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
- package/Source/Scene/parseStructuralMetadata.js +3 -3
- package/Source/Scene/processVoxelProperties.js +28 -33
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +44 -0
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +44 -0
- package/Source/Shaders/Builtin/Functions/computeScattering.glsl +0 -1
- package/Source/Shaders/Builtin/Functions/computeScattering.js +0 -1
- package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +3 -1
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +3 -1
- package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
- package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
- package/Source/Shaders/ComputeIrradianceFS.js +105 -0
- package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
- package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
- package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
- package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
- package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
- package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
- package/Source/Shaders/DepthPlaneVS.glsl +1 -1
- package/Source/Shaders/DepthPlaneVS.js +1 -1
- package/Source/Shaders/GlobeFS.glsl +1 -2
- package/Source/Shaders/GlobeFS.js +1 -2
- package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -4
- package/Source/Shaders/Model/AtmosphereStageFS.js +1 -4
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +2 -155
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -156
- package/Source/Shaders/Model/LightingStageFS.glsl +3 -22
- package/Source/Shaders/Model/LightingStageFS.js +3 -22
- package/Source/Shaders/Model/ModelFS.glsl +26 -0
- package/Source/Shaders/Model/ModelFS.js +26 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
- package/Source/Shaders/SkyBoxVS.glsl +0 -1
- package/Source/Shaders/SkyBoxVS.js +0 -1
- package/Source/Widget/CesiumWidget.js +785 -9
- package/Source/Workers/combineGeometry.js +3 -4
- package/Source/Workers/createCircleGeometry.js +2 -2
- package/Source/Workers/createCircleOutlineGeometry.js +2 -2
- package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
- package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Source/Workers/createGeometry.js +4 -5
- package/Source/Workers/createGroundPolylineGeometry.js +1 -1
- package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
- package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
- package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
- package/Source/Workers/createSimplePolylineGeometry.js +2 -2
- package/Source/Workers/createTaskProcessorWorker.js +1 -1
- package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
- package/Source/Workers/createVectorTileGeometries.js +18 -18
- package/Source/Workers/createVectorTilePoints.js +3 -3
- package/Source/Workers/createVectorTilePolygons.js +11 -11
- package/Source/Workers/createVectorTilePolylines.js +7 -7
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
- package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
- package/Source/Workers/decodeDraco.js +23 -23
- package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +4 -4
- package/Source/Workers/decodeI3S.js +53 -53
- package/Source/Workers/transcodeKTX2.js +9 -9
- package/Source/Workers/transferTypedArrayTest.js +1 -1
- package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
- package/index.d.ts +769 -47
- package/index.js +73 -51
- package/package.json +3 -3
|
@@ -0,0 +1,548 @@
|
|
|
1
|
+
import Check from "../../../../Core/Check.js";
|
|
2
|
+
import defaultValue from "../../../../Core/defaultValue.js";
|
|
3
|
+
import defined from "../../../../Core/defined.js";
|
|
4
|
+
import ResourceCache from "../../../ResourceCache.js";
|
|
5
|
+
import ResourceLoader from "../../../ResourceLoader.js";
|
|
6
|
+
import ResourceLoaderState from "../../../ResourceLoaderState.js";
|
|
7
|
+
import PropertyTexture from "../../../PropertyTexture.js";
|
|
8
|
+
import StructuralMetadata from "../../../StructuralMetadata.js";
|
|
9
|
+
import MetadataSchema from "../../../MetadataSchema.js";
|
|
10
|
+
import PpeTexture from "./PpeTexture.js";
|
|
11
|
+
import PpeMetadata from "./PpeMetadata.js";
|
|
12
|
+
import MeshPrimitiveGpmLocal from "./MeshPrimitiveGpmLocal.js";
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Loads glTF NGA_gpm_local from a glTF mesh primitive.
|
|
16
|
+
* <p>
|
|
17
|
+
* Implements the {@link ResourceLoader} interface.
|
|
18
|
+
* </p>
|
|
19
|
+
* This loads the "ppeTextures" of the NGA_gpm_local extension of a mesh primitive
|
|
20
|
+
* and stores them in a `MeshPrimitiveGpmLocal` object.
|
|
21
|
+
*
|
|
22
|
+
* This object will be converted into a `StructuralMetadata` object, which may
|
|
23
|
+
* override any `StructuralMetadata` that was read directly from the glTF.
|
|
24
|
+
*
|
|
25
|
+
* @alias GltfMeshPrimitiveGpmLoader
|
|
26
|
+
* @constructor
|
|
27
|
+
* @augments ResourceLoader
|
|
28
|
+
*
|
|
29
|
+
* @param {object} options Object with the following properties:
|
|
30
|
+
* @param {object} options.gltf The glTF JSON.
|
|
31
|
+
* @param {string} [options.extension] The <code>NGA_gpm_local</code> extension object.
|
|
32
|
+
* @param {Resource} options.gltfResource The {@link Resource} containing the glTF.
|
|
33
|
+
* @param {Resource} options.baseResource The {@link Resource} that paths in the glTF JSON are relative to.
|
|
34
|
+
* @param {SupportedImageFormats} options.supportedImageFormats The supported image formats.
|
|
35
|
+
* @param {FrameState} options.frameState The frame state.
|
|
36
|
+
* @param {string} [options.cacheKey] The cache key of the resource.
|
|
37
|
+
* @param {boolean} [options.asynchronous=true] Determines if WebGL resource creation will be spread out over several frames or block until all WebGL resources are created.
|
|
38
|
+
*
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
function GltfMeshPrimitiveGpmLoader(options) {
|
|
42
|
+
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
43
|
+
const gltf = options.gltf;
|
|
44
|
+
const extension = options.extension;
|
|
45
|
+
const gltfResource = options.gltfResource;
|
|
46
|
+
const baseResource = options.baseResource;
|
|
47
|
+
const supportedImageFormats = options.supportedImageFormats;
|
|
48
|
+
const frameState = options.frameState;
|
|
49
|
+
const cacheKey = options.cacheKey;
|
|
50
|
+
const asynchronous = defaultValue(options.asynchronous, true);
|
|
51
|
+
|
|
52
|
+
//>>includeStart('debug', pragmas.debug);
|
|
53
|
+
Check.typeOf.object("options.gltf", gltf);
|
|
54
|
+
Check.typeOf.object("options.extension", extension);
|
|
55
|
+
Check.typeOf.object("options.gltfResource", gltfResource);
|
|
56
|
+
Check.typeOf.object("options.baseResource", baseResource);
|
|
57
|
+
Check.typeOf.object("options.supportedImageFormats", supportedImageFormats);
|
|
58
|
+
Check.typeOf.object("options.frameState", frameState);
|
|
59
|
+
//>>includeEnd('debug');
|
|
60
|
+
|
|
61
|
+
this._gltfResource = gltfResource;
|
|
62
|
+
this._baseResource = baseResource;
|
|
63
|
+
this._gltf = gltf;
|
|
64
|
+
this._extension = extension;
|
|
65
|
+
this._supportedImageFormats = supportedImageFormats;
|
|
66
|
+
this._frameState = frameState;
|
|
67
|
+
this._cacheKey = cacheKey;
|
|
68
|
+
this._asynchronous = asynchronous;
|
|
69
|
+
this._textureLoaders = [];
|
|
70
|
+
this._textureIds = [];
|
|
71
|
+
this._meshPrimitiveGpmLocal = undefined;
|
|
72
|
+
this._structuralMetadata = undefined;
|
|
73
|
+
this._state = ResourceLoaderState.UNLOADED;
|
|
74
|
+
this._promise = undefined;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (defined(Object.create)) {
|
|
78
|
+
GltfMeshPrimitiveGpmLoader.prototype = Object.create(
|
|
79
|
+
ResourceLoader.prototype,
|
|
80
|
+
);
|
|
81
|
+
GltfMeshPrimitiveGpmLoader.prototype.constructor = GltfMeshPrimitiveGpmLoader;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
Object.defineProperties(GltfMeshPrimitiveGpmLoader.prototype, {
|
|
85
|
+
/**
|
|
86
|
+
* The cache key of the resource.
|
|
87
|
+
*
|
|
88
|
+
* @memberof GltfMeshPrimitiveGpmLoader.prototype
|
|
89
|
+
*
|
|
90
|
+
* @type {string}
|
|
91
|
+
* @readonly
|
|
92
|
+
* @private
|
|
93
|
+
*/
|
|
94
|
+
cacheKey: {
|
|
95
|
+
get: function () {
|
|
96
|
+
return this._cacheKey;
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* The parsed GPM extension information from the mesh primitive
|
|
102
|
+
*
|
|
103
|
+
* @memberof GltfMeshPrimitiveGpmLoader.prototype
|
|
104
|
+
*
|
|
105
|
+
* @type {MeshPrimitiveGpmLocal}
|
|
106
|
+
* @readonly
|
|
107
|
+
* @private
|
|
108
|
+
*/
|
|
109
|
+
meshPrimitiveGpmLocal: {
|
|
110
|
+
get: function () {
|
|
111
|
+
return this._meshPrimitiveGpmLocal;
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Returns the result of converting the parsed 'MeshPrimitiveGpmLocal'
|
|
117
|
+
* into a 'StructuralMetadata'.
|
|
118
|
+
*
|
|
119
|
+
* Some details about the translation are intentionally not specified here.
|
|
120
|
+
*
|
|
121
|
+
* @memberof GltfMeshPrimitiveGpmLoader.prototype
|
|
122
|
+
*
|
|
123
|
+
* @type {StructuralMetadata}
|
|
124
|
+
* @readonly
|
|
125
|
+
* @private
|
|
126
|
+
*/
|
|
127
|
+
structuralMetadata: {
|
|
128
|
+
get: function () {
|
|
129
|
+
return this._structuralMetadata;
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
GltfMeshPrimitiveGpmLoader.prototype._loadResources = async function () {
|
|
135
|
+
try {
|
|
136
|
+
const texturesPromise = this._loadTextures();
|
|
137
|
+
await texturesPromise;
|
|
138
|
+
|
|
139
|
+
if (this.isDestroyed()) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
this._gltf = undefined; // No longer need to hold onto the glTF
|
|
144
|
+
|
|
145
|
+
this._state = ResourceLoaderState.LOADED;
|
|
146
|
+
return this;
|
|
147
|
+
} catch (error) {
|
|
148
|
+
if (this.isDestroyed()) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
this.unload();
|
|
153
|
+
this._state = ResourceLoaderState.FAILED;
|
|
154
|
+
const errorMessage = "Failed to load GPM data";
|
|
155
|
+
throw this.getError(errorMessage, error);
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Loads the resource.
|
|
161
|
+
* @returns {Promise<GltfMeshPrimitiveGpmLoader>} A promise which resolves to the loader when the resource loading is completed.
|
|
162
|
+
* @private
|
|
163
|
+
*/
|
|
164
|
+
GltfMeshPrimitiveGpmLoader.prototype.load = function () {
|
|
165
|
+
if (defined(this._promise)) {
|
|
166
|
+
return this._promise;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
this._state = ResourceLoaderState.LOADING;
|
|
170
|
+
this._promise = this._loadResources(this);
|
|
171
|
+
return this._promise;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
function gatherUsedTextureIds(gpmExtension) {
|
|
175
|
+
// Gather the used textures
|
|
176
|
+
const textureIds = {};
|
|
177
|
+
const ppeTextures = gpmExtension.ppeTextures;
|
|
178
|
+
if (defined(ppeTextures)) {
|
|
179
|
+
for (let i = 0; i < ppeTextures.length; i++) {
|
|
180
|
+
const ppeTexture = ppeTextures[i];
|
|
181
|
+
// The texture is a valid textureInfo.
|
|
182
|
+
textureIds[ppeTexture.index] = ppeTexture;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return textureIds;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
GltfMeshPrimitiveGpmLoader.prototype._loadTextures = function () {
|
|
189
|
+
let textureIds;
|
|
190
|
+
if (defined(this._extension)) {
|
|
191
|
+
textureIds = gatherUsedTextureIds(this._extension);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
const gltf = this._gltf;
|
|
195
|
+
const gltfResource = this._gltfResource;
|
|
196
|
+
const baseResource = this._baseResource;
|
|
197
|
+
const supportedImageFormats = this._supportedImageFormats;
|
|
198
|
+
const frameState = this._frameState;
|
|
199
|
+
const asynchronous = this._asynchronous;
|
|
200
|
+
|
|
201
|
+
// Load the textures
|
|
202
|
+
const texturePromises = [];
|
|
203
|
+
for (const textureId in textureIds) {
|
|
204
|
+
if (textureIds.hasOwnProperty(textureId)) {
|
|
205
|
+
const textureLoader = ResourceCache.getTextureLoader({
|
|
206
|
+
gltf: gltf,
|
|
207
|
+
textureInfo: textureIds[textureId],
|
|
208
|
+
gltfResource: gltfResource,
|
|
209
|
+
baseResource: baseResource,
|
|
210
|
+
supportedImageFormats: supportedImageFormats,
|
|
211
|
+
frameState: frameState,
|
|
212
|
+
asynchronous: asynchronous,
|
|
213
|
+
});
|
|
214
|
+
this._textureLoaders.push(textureLoader);
|
|
215
|
+
this._textureIds.push(textureId);
|
|
216
|
+
texturePromises.push(textureLoader.load());
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return Promise.all(texturePromises);
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* A static mapping from PPE texture property identifier keys
|
|
225
|
+
* to `MetadataSchema` instances. This is used to create each
|
|
226
|
+
* schema (with a certain structure) only ONCE in
|
|
227
|
+
* _obtainPpeTexturesMetadataSchema
|
|
228
|
+
*
|
|
229
|
+
* @private
|
|
230
|
+
*/
|
|
231
|
+
GltfMeshPrimitiveGpmLoader.ppeTexturesMetadataSchemaCache = new Map();
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Create the JSON description of a metadata class that treats
|
|
235
|
+
* the given PPE texture as a property texture property.
|
|
236
|
+
*
|
|
237
|
+
* @param {any} ppeTexture - The PPE texture
|
|
238
|
+
* @param {number} index - The index of the texture in the extension
|
|
239
|
+
* @returns The class JSON
|
|
240
|
+
*/
|
|
241
|
+
GltfMeshPrimitiveGpmLoader._createPpeTextureClassJson = function (
|
|
242
|
+
ppeTexture,
|
|
243
|
+
index,
|
|
244
|
+
) {
|
|
245
|
+
const traits = ppeTexture.traits;
|
|
246
|
+
const ppePropertyName = traits.source;
|
|
247
|
+
|
|
248
|
+
// The ppeTexture will have a structure like this:
|
|
249
|
+
//
|
|
250
|
+
//"ppeTextures" : [
|
|
251
|
+
// {
|
|
252
|
+
// "traits" : {
|
|
253
|
+
// "source" : "SIGZ",
|
|
254
|
+
// "min" : 0.0,
|
|
255
|
+
// "max" : 16.0
|
|
256
|
+
// },
|
|
257
|
+
// "index" : 2,
|
|
258
|
+
// "noData" : 255,
|
|
259
|
+
// "offset" : 0.0,
|
|
260
|
+
// "scale" : 0.06274509803921569,
|
|
261
|
+
// "texCoord" : 1
|
|
262
|
+
// },
|
|
263
|
+
//
|
|
264
|
+
// This is translated into a single class property here, that defines
|
|
265
|
+
// the structure of the property texture property.
|
|
266
|
+
//
|
|
267
|
+
// Given that `offset` and `scale` may only be applied to integer
|
|
268
|
+
// property values when they are `normalized`, the values will be
|
|
269
|
+
// declared as `normalized` here.
|
|
270
|
+
// The normalization factor will later have to be cancelled out,
|
|
271
|
+
// when integrating the `scale` into the actual property texture
|
|
272
|
+
// property. In the property texture property, the `scale` has to
|
|
273
|
+
// be multiplied by 255.
|
|
274
|
+
const classJson = {
|
|
275
|
+
name: `PPE texture class ${index}`,
|
|
276
|
+
properties: {
|
|
277
|
+
[ppePropertyName]: {
|
|
278
|
+
name: "PPE",
|
|
279
|
+
type: "SCALAR",
|
|
280
|
+
componentType: "UINT8",
|
|
281
|
+
normalized: true,
|
|
282
|
+
min: traits.min,
|
|
283
|
+
max: traits.max,
|
|
284
|
+
},
|
|
285
|
+
},
|
|
286
|
+
};
|
|
287
|
+
return classJson;
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Returns the `MetadataSchema` for the PPE textures in the given
|
|
292
|
+
* `MeshPrimitiveGpmLocal` instance.
|
|
293
|
+
*
|
|
294
|
+
* This method will return a (statically/globally) cached metadata
|
|
295
|
+
* schema that reflects the structure of the PPE textures in the
|
|
296
|
+
* given instance, creating and caching it if necessary.
|
|
297
|
+
*
|
|
298
|
+
* For details on the cache key, see `_collectPpeTexturePropertyIdentifiers`
|
|
299
|
+
*
|
|
300
|
+
* @param {MeshPrimitiveGpmLocal} meshPrimitiveGpmLocal The extension object
|
|
301
|
+
* @returns The `MetadataSchema`
|
|
302
|
+
*/
|
|
303
|
+
GltfMeshPrimitiveGpmLoader._obtainPpeTexturesMetadataSchema = function (
|
|
304
|
+
meshPrimitiveGpmLocal,
|
|
305
|
+
) {
|
|
306
|
+
const ppeTexturePropertyIdentifiers =
|
|
307
|
+
GltfMeshPrimitiveGpmLoader._collectPpeTexturePropertyIdentifiers(
|
|
308
|
+
meshPrimitiveGpmLocal,
|
|
309
|
+
);
|
|
310
|
+
const key = ppeTexturePropertyIdentifiers.toString();
|
|
311
|
+
let ppeTexturesMetadataSchema =
|
|
312
|
+
GltfMeshPrimitiveGpmLoader.ppeTexturesMetadataSchemaCache.get(key);
|
|
313
|
+
if (defined(ppeTexturesMetadataSchema)) {
|
|
314
|
+
return ppeTexturesMetadataSchema;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
const schemaId = `PPE_TEXTURE_SCHEMA_${GltfMeshPrimitiveGpmLoader.ppeTexturesMetadataSchemaCache.size}`;
|
|
318
|
+
const ppeTexturesMetadataSchemaJson = {
|
|
319
|
+
id: schemaId,
|
|
320
|
+
classes: {},
|
|
321
|
+
};
|
|
322
|
+
|
|
323
|
+
const ppeTextures = meshPrimitiveGpmLocal.ppeTextures;
|
|
324
|
+
for (let i = 0; i < ppeTextures.length; i++) {
|
|
325
|
+
const ppeTexture = ppeTextures[i];
|
|
326
|
+
const classId = `ppeTexture_${i}`;
|
|
327
|
+
const classJson = GltfMeshPrimitiveGpmLoader._createPpeTextureClassJson(
|
|
328
|
+
ppeTexture,
|
|
329
|
+
i,
|
|
330
|
+
);
|
|
331
|
+
ppeTexturesMetadataSchemaJson.classes[classId] = classJson;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
ppeTexturesMetadataSchema = MetadataSchema.fromJson(
|
|
335
|
+
ppeTexturesMetadataSchemaJson,
|
|
336
|
+
);
|
|
337
|
+
GltfMeshPrimitiveGpmLoader.ppeTexturesMetadataSchemaCache.set(
|
|
338
|
+
key,
|
|
339
|
+
ppeTexturesMetadataSchema,
|
|
340
|
+
);
|
|
341
|
+
return ppeTexturesMetadataSchema;
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* Creates an array of strings that serve as identifiers for PPE textures.
|
|
346
|
+
*
|
|
347
|
+
* Each glTF may define multiple `ppeTexture` objects within the
|
|
348
|
+
* `NGA_gpm_local` extensions. Each of these textures corresponds
|
|
349
|
+
* to one 'property texture property' in a metadata schema.
|
|
350
|
+
*
|
|
351
|
+
* This method will create an array where each element is a (JSON)
|
|
352
|
+
* string representation of the parts of a GPM PPE texture definition
|
|
353
|
+
* that are relevant for distinguishing two PPE textures in terms
|
|
354
|
+
* of their structure within a `StructuralMetadata`.
|
|
355
|
+
*
|
|
356
|
+
* @param {MeshPrimitiveGpmLocal} meshPrimitiveGpmLocal The extension object
|
|
357
|
+
* @returns The identifiers
|
|
358
|
+
*/
|
|
359
|
+
GltfMeshPrimitiveGpmLoader._collectPpeTexturePropertyIdentifiers = function (
|
|
360
|
+
meshPrimitiveGpmLocal,
|
|
361
|
+
) {
|
|
362
|
+
const ppeTexturePropertyIdentifiers = [];
|
|
363
|
+
const ppeTextures = meshPrimitiveGpmLocal.ppeTextures;
|
|
364
|
+
for (let i = 0; i < ppeTextures.length; i++) {
|
|
365
|
+
const ppeTexture = ppeTextures[i];
|
|
366
|
+
// The following will create an identifier that can be used
|
|
367
|
+
// to define two PPE textures as "representing the same
|
|
368
|
+
// property texture property" within a structural metadata
|
|
369
|
+
// schema.
|
|
370
|
+
const classJson = GltfMeshPrimitiveGpmLoader._createPpeTextureClassJson(
|
|
371
|
+
ppeTexture,
|
|
372
|
+
i,
|
|
373
|
+
);
|
|
374
|
+
const ppeTexturePropertyIdentifier = JSON.stringify(classJson);
|
|
375
|
+
ppeTexturePropertyIdentifiers.push(ppeTexturePropertyIdentifier);
|
|
376
|
+
}
|
|
377
|
+
return ppeTexturePropertyIdentifiers;
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Converts the given `MeshPrimitiveGpmLocal` object into a `StructuralMetadata`
|
|
382
|
+
* object.
|
|
383
|
+
*
|
|
384
|
+
* This will translate the PPE textures from the given object into property
|
|
385
|
+
* texture properties. The schema will be created based on the the structure
|
|
386
|
+
* of the PPE textures.
|
|
387
|
+
*
|
|
388
|
+
* @param {MeshPrimitiveGpmLocal} meshPrimitiveGpmLocal The extension object
|
|
389
|
+
* @param {object} textures The mapping from texture ID to texture objects
|
|
390
|
+
* @returns The `StructuralMetadata` object
|
|
391
|
+
*/
|
|
392
|
+
GltfMeshPrimitiveGpmLoader._convertToStructuralMetadata = function (
|
|
393
|
+
meshPrimitiveGpmLocal,
|
|
394
|
+
textures,
|
|
395
|
+
) {
|
|
396
|
+
const propertyTextures = [];
|
|
397
|
+
const ppeTexturesMetadataSchema =
|
|
398
|
+
GltfMeshPrimitiveGpmLoader._obtainPpeTexturesMetadataSchema(
|
|
399
|
+
meshPrimitiveGpmLocal,
|
|
400
|
+
);
|
|
401
|
+
const ppeTextures = meshPrimitiveGpmLocal.ppeTextures;
|
|
402
|
+
for (let i = 0; i < ppeTextures.length; i++) {
|
|
403
|
+
const ppeTexture = ppeTextures[i];
|
|
404
|
+
const classId = `ppeTexture_${i}`;
|
|
405
|
+
const traits = ppeTexture.traits;
|
|
406
|
+
const ppePropertyName = traits.source;
|
|
407
|
+
const metadataClass = ppeTexturesMetadataSchema.classes[classId];
|
|
408
|
+
|
|
409
|
+
// The class property has been declared as `normalized`, so
|
|
410
|
+
// that `offset` and `scale` can be applied. The normalization
|
|
411
|
+
// factor has to be cancelled out here, by multiplying the
|
|
412
|
+
// `scale` with 255.
|
|
413
|
+
const scale = (ppeTexture.scale ?? 1.0) * 255.0;
|
|
414
|
+
const ppeTextureAsPropertyTexture = {
|
|
415
|
+
class: classId,
|
|
416
|
+
properties: {
|
|
417
|
+
[ppePropertyName]: {
|
|
418
|
+
index: ppeTexture.index,
|
|
419
|
+
texCoord: ppeTexture.texCoord,
|
|
420
|
+
offset: ppeTexture.offset,
|
|
421
|
+
scale: scale,
|
|
422
|
+
},
|
|
423
|
+
},
|
|
424
|
+
};
|
|
425
|
+
propertyTextures.push(
|
|
426
|
+
new PropertyTexture({
|
|
427
|
+
id: i,
|
|
428
|
+
name: ppeTexture.name,
|
|
429
|
+
propertyTexture: ppeTextureAsPropertyTexture,
|
|
430
|
+
class: metadataClass,
|
|
431
|
+
textures: textures,
|
|
432
|
+
}),
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
const structuralMetadata = new StructuralMetadata({
|
|
436
|
+
schema: ppeTexturesMetadataSchema,
|
|
437
|
+
propertyTables: [],
|
|
438
|
+
propertyTextures: propertyTextures,
|
|
439
|
+
propertyAttributes: [],
|
|
440
|
+
});
|
|
441
|
+
return structuralMetadata;
|
|
442
|
+
};
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Processes the resource until it becomes ready.
|
|
446
|
+
*
|
|
447
|
+
* @param {FrameState} frameState The frame state.
|
|
448
|
+
* @private
|
|
449
|
+
*/
|
|
450
|
+
GltfMeshPrimitiveGpmLoader.prototype.process = function (frameState) {
|
|
451
|
+
//>>includeStart('debug', pragmas.debug);
|
|
452
|
+
Check.typeOf.object("frameState", frameState);
|
|
453
|
+
//>>includeEnd('debug');
|
|
454
|
+
|
|
455
|
+
if (this._state === ResourceLoaderState.READY) {
|
|
456
|
+
return true;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
if (this._state !== ResourceLoaderState.LOADED) {
|
|
460
|
+
return false;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
// The standard process of loading textures
|
|
464
|
+
// (from GltfStructuralMetadataLoader)
|
|
465
|
+
const textureLoaders = this._textureLoaders;
|
|
466
|
+
const textureLoadersLength = textureLoaders.length;
|
|
467
|
+
let ready = true;
|
|
468
|
+
for (let i = 0; i < textureLoadersLength; ++i) {
|
|
469
|
+
const textureLoader = textureLoaders[i];
|
|
470
|
+
const textureReady = textureLoader.process(frameState);
|
|
471
|
+
ready = ready && textureReady;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
if (!ready) {
|
|
475
|
+
return false;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
// More of the standard process of loading textures
|
|
479
|
+
// (from GltfStructuralMetadataLoader)
|
|
480
|
+
const textures = {};
|
|
481
|
+
for (let i = 0; i < this._textureIds.length; ++i) {
|
|
482
|
+
const textureId = this._textureIds[i];
|
|
483
|
+
const textureLoader = textureLoaders[i];
|
|
484
|
+
if (!textureLoader.isDestroyed()) {
|
|
485
|
+
textures[textureId] = textureLoader.texture;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
// Convert the JSON representation of the `ppeTextures` that
|
|
490
|
+
// are found in the extensjon JSON into `PpeTexture` objects
|
|
491
|
+
const ppeTextures = [];
|
|
492
|
+
const extension = this._extension;
|
|
493
|
+
if (defined(extension.ppeTextures)) {
|
|
494
|
+
const ppeTexturesJson = extension.ppeTextures;
|
|
495
|
+
for (const ppeTextureJson of ppeTexturesJson) {
|
|
496
|
+
const traitsJson = ppeTextureJson.traits;
|
|
497
|
+
const traits = new PpeMetadata({
|
|
498
|
+
min: traitsJson.min,
|
|
499
|
+
max: traitsJson.max,
|
|
500
|
+
source: traitsJson.source,
|
|
501
|
+
});
|
|
502
|
+
const ppeTexture = new PpeTexture({
|
|
503
|
+
traits: traits,
|
|
504
|
+
noData: ppeTextureJson.noData,
|
|
505
|
+
offset: ppeTextureJson.offset,
|
|
506
|
+
scale: ppeTextureJson.scale,
|
|
507
|
+
index: ppeTextureJson.index,
|
|
508
|
+
texCoord: ppeTextureJson.texCoord,
|
|
509
|
+
});
|
|
510
|
+
ppeTextures.push(ppeTexture);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
const meshPrimitiveGpmLocal = new MeshPrimitiveGpmLocal(ppeTextures);
|
|
514
|
+
this._meshPrimitiveGpmLocal = meshPrimitiveGpmLocal;
|
|
515
|
+
|
|
516
|
+
const structuralMetadata =
|
|
517
|
+
GltfMeshPrimitiveGpmLoader._convertToStructuralMetadata(
|
|
518
|
+
meshPrimitiveGpmLocal,
|
|
519
|
+
textures,
|
|
520
|
+
);
|
|
521
|
+
this._structuralMetadata = structuralMetadata;
|
|
522
|
+
|
|
523
|
+
this._state = ResourceLoaderState.READY;
|
|
524
|
+
return true;
|
|
525
|
+
};
|
|
526
|
+
|
|
527
|
+
GltfMeshPrimitiveGpmLoader.prototype._unloadTextures = function () {
|
|
528
|
+
const textureLoaders = this._textureLoaders;
|
|
529
|
+
const textureLoadersLength = textureLoaders.length;
|
|
530
|
+
for (let i = 0; i < textureLoadersLength; ++i) {
|
|
531
|
+
ResourceCache.unload(textureLoaders[i]);
|
|
532
|
+
}
|
|
533
|
+
this._textureLoaders.length = 0;
|
|
534
|
+
this._textureIds.length = 0;
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Unloads the resource.
|
|
539
|
+
* @private
|
|
540
|
+
*/
|
|
541
|
+
GltfMeshPrimitiveGpmLoader.prototype.unload = function () {
|
|
542
|
+
this._unloadTextures();
|
|
543
|
+
this._gltf = undefined;
|
|
544
|
+
this._extension = undefined;
|
|
545
|
+
this._structuralMetadata = undefined;
|
|
546
|
+
};
|
|
547
|
+
|
|
548
|
+
export default GltfMeshPrimitiveGpmLoader;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local Generic Point-cloud Model information about a glTF primitive.
|
|
3
|
+
*
|
|
4
|
+
* @param {PpeTexture[]} ppeTextures The Per-Point Error textures
|
|
5
|
+
*
|
|
6
|
+
* @constructor
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
9
|
+
function MeshPrimitiveGpmLocal(ppeTextures) {
|
|
10
|
+
this._ppeTextures = ppeTextures;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
Object.defineProperties(MeshPrimitiveGpmLocal.prototype, {
|
|
14
|
+
/**
|
|
15
|
+
* An array of ppe textures.
|
|
16
|
+
*
|
|
17
|
+
* @memberof MeshPrimitiveGpmLocal.prototype
|
|
18
|
+
* @type {PpeTexture[]|undefined}
|
|
19
|
+
* @readonly
|
|
20
|
+
*/
|
|
21
|
+
ppeTextures: {
|
|
22
|
+
get: function () {
|
|
23
|
+
return this._ppeTextures;
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
export default MeshPrimitiveGpmLocal;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import Check from "../../../../Core/Check.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {object} PpeMetadata.ConstructorOptions
|
|
5
|
+
*
|
|
6
|
+
* Initialization options for the PpeMetadata constructor
|
|
7
|
+
*
|
|
8
|
+
* @property {PpeSource} source The source of the error data
|
|
9
|
+
* @property {number|undefined} [min] Minimum allowed value for the property.
|
|
10
|
+
* @property {number|undefined} [max] Maximum allowed value for the property.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Metadata related to the stored PPE (Per-Point Error) data.
|
|
15
|
+
*
|
|
16
|
+
* This reflects the `ppeMetadata` definition of the
|
|
17
|
+
* {@link https://nsgreg.nga.mil/csmwg.jsp|NGA_gpm_local} glTF extension.
|
|
18
|
+
*
|
|
19
|
+
* @constructor
|
|
20
|
+
* @param {PpeMetadata.ConstructorOptions} options An object describing initialization options
|
|
21
|
+
*
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
function PpeMetadata(options) {
|
|
25
|
+
//>>includeStart('debug', pragmas.debug);
|
|
26
|
+
Check.typeOf.string("options.source", options.source);
|
|
27
|
+
//>>includeEnd('debug');
|
|
28
|
+
|
|
29
|
+
this._min = options.min;
|
|
30
|
+
this._max = options.max;
|
|
31
|
+
this._source = options.source;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
Object.defineProperties(PpeMetadata.prototype, {
|
|
35
|
+
/**
|
|
36
|
+
* Minimum allowed value for the property. This is the minimum of all
|
|
37
|
+
* values after the transforms based on the offset and scale properties
|
|
38
|
+
* have been applied.
|
|
39
|
+
*
|
|
40
|
+
* @memberof PpeMetadata.prototype
|
|
41
|
+
* @type {number|undefined}
|
|
42
|
+
* @readonly
|
|
43
|
+
*/
|
|
44
|
+
min: {
|
|
45
|
+
get: function () {
|
|
46
|
+
return this._min;
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Maximum allowed value for the property. This is the maximum of all
|
|
52
|
+
* values after the transforms based on the offset and scale properties
|
|
53
|
+
* have been applied.
|
|
54
|
+
*
|
|
55
|
+
* @memberof PpeMetadata.prototype
|
|
56
|
+
* @type {number|undefined}
|
|
57
|
+
* @readonly
|
|
58
|
+
*/
|
|
59
|
+
max: {
|
|
60
|
+
get: function () {
|
|
61
|
+
return this._max;
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Possible error source contents
|
|
67
|
+
*
|
|
68
|
+
* @memberof PpeMetadata.prototype
|
|
69
|
+
* @type {PpeSource}
|
|
70
|
+
* @readonly
|
|
71
|
+
*/
|
|
72
|
+
source: {
|
|
73
|
+
get: function () {
|
|
74
|
+
return this._source;
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
export default PpeMetadata;
|