@cesium/engine 10.1.0 → 11.1.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-EB7PNZTK.js → chunk-26GA3JAM.js} +6 -5
- package/Build/Workers/{chunk-RZLZWKFN.js → chunk-27HUZ7SA.js} +4 -4
- package/Build/Workers/{chunk-A5CODJ4M.js → chunk-2ZGOQXYU.js} +6 -6
- package/Build/Workers/{chunk-TF776XCO.js → chunk-3Q2L65QU.js} +7 -7
- package/Build/Workers/{chunk-NVOABL76.js → chunk-472HQ3EH.js} +5 -5
- package/Build/Workers/{chunk-QX5XS4LC.js → chunk-5ODQSF26.js} +2 -2
- package/Build/Workers/{chunk-4YSNMHZ4.js → chunk-5OOFQLKF.js} +6 -6
- package/Build/Workers/{chunk-OXALEQPI.js → chunk-5PTXS2GO.js} +49 -23
- package/Build/Workers/{chunk-T77JILCU.js → chunk-6CHGCNMW.js} +2 -2
- package/Build/Workers/{chunk-FEVVHITK.js → chunk-76BYBWHP.js} +4 -4
- package/Build/Workers/{chunk-65MZOUNU.js → chunk-7BMOHCPM.js} +13 -13
- package/Build/Workers/{chunk-VE7BFUIX.js → chunk-7JO7GPJN.js} +1 -1
- package/Build/Workers/{chunk-5BLJ5ZM6.js → chunk-7KTQP4VB.js} +5 -5
- package/Build/Workers/{chunk-G5V4GPZE.js → chunk-7O373FFS.js} +8 -34
- package/Build/Workers/{chunk-S3PI2KFM.js → chunk-AD63PIY6.js} +2 -2
- package/Build/Workers/{chunk-6D66DPRV.js → chunk-BHQJ2NT7.js} +6 -6
- package/Build/Workers/{chunk-I2RC4XVN.js → chunk-C6YYBQXW.js} +4 -4
- package/Build/Workers/{chunk-X2ZQ7RJR.js → chunk-CKY7HOHV.js} +9 -9
- package/Build/Workers/{chunk-TO2PVHKI.js → chunk-DHYHSFFJ.js} +2 -2
- package/Build/Workers/{chunk-R6B7UCQB.js → chunk-DI5NGJUP.js} +2 -2
- package/Build/Workers/{chunk-X23FRWHJ.js → chunk-E27BLMDD.js} +7 -9
- package/Build/Workers/{chunk-N4QEHO3U.js → chunk-E63IIM5T.js} +1 -1
- package/Build/Workers/{chunk-BY3E4ONI.js → chunk-E6V6SQZW.js} +6 -6
- package/Build/Workers/{chunk-LSSWVB2X.js → chunk-EJZTDTUH.js} +4 -4
- package/Build/Workers/{chunk-XLTOBCDI.js → chunk-FDOV2LBJ.js} +7 -7
- package/Build/Workers/{chunk-ACRTCBN5.js → chunk-FIGIZHAQ.js} +11 -11
- package/Build/Workers/{chunk-4RMIRG6T.js → chunk-GESF4OXQ.js} +2 -2
- package/Build/Workers/{chunk-PNFHVBSF.js → chunk-GGZJN2TI.js} +16 -15
- package/Build/Workers/{chunk-KV4EQHK4.js → chunk-GNBFYG7F.js} +83 -79
- package/Build/Workers/{chunk-FOZWUH4T.js → chunk-GWCFU2SA.js} +7 -7
- package/Build/Workers/{chunk-Q55ECN3Y.js → chunk-I2ITFFPX.js} +1 -1
- package/Build/Workers/{chunk-XQI7XZHX.js → chunk-IBLIYJZR.js} +6 -6
- package/Build/Workers/{chunk-D2U4RI64.js → chunk-JW4FOI6M.js} +7 -7
- package/Build/Workers/{chunk-2J3JKXCP.js → chunk-K4GQUNB5.js} +9 -5
- package/Build/Workers/{chunk-POSRARY7.js → chunk-M3GMB5OP.js} +10 -10
- package/Build/Workers/{chunk-OOK53QUQ.js → chunk-MXIZJAPH.js} +1 -1
- package/Build/Workers/{chunk-OWGTMVDB.js → chunk-N5KJGGCM.js} +18 -20
- package/Build/Workers/{chunk-J7MQUQJY.js → chunk-NGPPMXRM.js} +12 -7
- package/Build/Workers/{chunk-OOMCT7OL.js → chunk-O3E4OAOE.js} +13 -13
- package/Build/Workers/{chunk-C3Z23UUJ.js → chunk-PGRPDNHG.js} +19 -23
- package/Build/Workers/{chunk-4VFBBNQ3.js → chunk-PRGYLLJT.js} +1 -1
- package/Build/Workers/{chunk-XZZNKIEV.js → chunk-S6MRMMQU.js} +6 -6
- package/Build/Workers/{chunk-76BYYG7N.js → chunk-SMDOP47J.js} +10 -10
- package/Build/Workers/{chunk-ZU334IDQ.js → chunk-TGONEMZO.js} +11 -11
- package/Build/Workers/{chunk-VRZ46QZ5.js → chunk-TKVT5GQM.js} +13 -13
- package/Build/Workers/{chunk-FDCLACT5.js → chunk-U72QNFOJ.js} +15 -25
- package/Build/Workers/{chunk-F3NDOSTZ.js → chunk-VJZB3WAV.js} +7 -7
- package/Build/Workers/{chunk-GPJR7MPQ.js → chunk-VU2MNO7L.js} +7 -7
- package/Build/Workers/{chunk-R4OIEIPE.js → chunk-XY4BATBS.js} +4 -4
- package/Build/Workers/{chunk-T6LPN7RI.js → chunk-YFXQECWV.js} +5 -5
- package/Build/Workers/{chunk-UCIPJSZX.js → chunk-YSGTGQQO.js} +14 -14
- package/Build/Workers/{chunk-BGE4QVG7.js → chunk-YZ733KKS.js} +12 -12
- 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 +26 -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 +28 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/transcodeKTX2.js +19 -18
- 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 +44 -44
- 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 +11 -8
- package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
- package/Source/Core/ComponentDatatype.js +4 -4
- package/Source/Core/CompressedTextureBuffer.js +13 -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 +45 -45
- 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 +54 -55
- 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 +17 -16
- 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 +14 -14
- 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 +11 -18
- 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 +4 -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 +7 -21
- 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 +51 -51
- 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 +3 -3
- 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/CallbackProperty.js +8 -2
- package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
- package/Source/DataSources/CheckerboardMaterialProperty.js +9 -3
- package/Source/DataSources/ColorMaterialProperty.js +8 -2
- package/Source/DataSources/CompositeEntityCollection.js +14 -15
- package/Source/DataSources/CompositeMaterialProperty.js +10 -11
- package/Source/DataSources/CompositePositionProperty.js +11 -6
- package/Source/DataSources/CompositeProperty.js +7 -7
- package/Source/DataSources/ConstantPositionProperty.js +9 -3
- 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 +23 -23
- 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 +14 -14
- 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 +12 -6
- package/Source/DataSources/GroundGeometryUpdater.js +6 -6
- package/Source/DataSources/ImageMaterialProperty.js +10 -3
- package/Source/DataSources/KmlDataSource.js +212 -212
- package/Source/DataSources/LabelGraphics.js +14 -14
- package/Source/DataSources/LabelVisualizer.js +24 -24
- package/Source/DataSources/MaterialProperty.js +7 -1
- package/Source/DataSources/ModelGraphics.js +37 -17
- package/Source/DataSources/ModelVisualizer.js +41 -32
- package/Source/DataSources/NodeTransformationProperty.js +10 -4
- 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 +8 -2
- package/Source/DataSources/PolylineDashMaterialProperty.js +11 -5
- package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
- package/Source/DataSources/PolylineGlowMaterialProperty.js +10 -4
- package/Source/DataSources/PolylineGraphics.js +4 -4
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +10 -4
- 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 +5 -4
- package/Source/DataSources/PositionPropertyArray.js +10 -4
- package/Source/DataSources/Property.js +2 -2
- package/Source/DataSources/PropertyArray.js +6 -6
- package/Source/DataSources/PropertyBag.js +10 -9
- package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
- package/Source/DataSources/RectangleGraphics.js +6 -6
- package/Source/DataSources/ReferenceProperty.js +13 -7
- package/Source/DataSources/Rotation.js +2 -2
- package/Source/DataSources/SampledPositionProperty.js +13 -7
- package/Source/DataSources/SampledProperty.js +22 -20
- package/Source/DataSources/ScaledPositionProperty.js +8 -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 +9 -3
- package/Source/DataSources/TerrainOffsetProperty.js +20 -11
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +35 -31
- package/Source/DataSources/TimeIntervalCollectionProperty.js +6 -6
- package/Source/DataSources/VelocityOrientationProperty.js +9 -4
- package/Source/DataSources/VelocityVectorProperty.js +7 -9
- 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 +3 -18
- 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 +55 -40
- package/Source/Renderer/CubeMap.js +332 -354
- package/Source/Renderer/CubeMapFace.js +43 -65
- 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/PixelDatatype.js +23 -0
- package/Source/Renderer/RenderState.js +36 -36
- package/Source/Renderer/Renderbuffer.js +3 -3
- package/Source/Renderer/Sampler.js +9 -15
- 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 +22 -15
- package/Source/Renderer/ShaderSource.js +40 -40
- package/Source/Renderer/Texture.js +455 -380
- package/Source/Renderer/UniformState.js +68 -80
- 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 +7 -5
- package/Source/Renderer/loadCubeMap.js +3 -8
- package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
- package/Source/Scene/ArcGisMapService.js +4 -7
- 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 +67 -23
- 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 +81 -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/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 +8 -41
- package/Source/Scene/FrameRateMonitor.js +22 -22
- package/Source/Scene/FrameState.js +31 -0
- package/Source/Scene/Geometry3DTileContent.js +20 -20
- package/Source/Scene/GetFeatureInfoFormat.js +15 -14
- package/Source/Scene/Globe.js +33 -28
- package/Source/Scene/GlobeDepth.js +95 -66
- package/Source/Scene/GlobeSurfaceShaderSet.js +41 -34
- package/Source/Scene/GlobeSurfaceTile.js +33 -33
- package/Source/Scene/GlobeSurfaceTileProvider.js +132 -127
- 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 +58 -56
- 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 +31 -31
- 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 +50 -29
- 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 +3 -3
- 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 +22 -30
- 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 +134 -54
- package/Source/Scene/Model/Model3DTileContent.js +32 -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 +42 -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 +73 -49
- package/Source/Scene/PostProcessStageComposite.js +2 -2
- package/Source/Scene/PostProcessStageLibrary.js +30 -4
- 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 +897 -677
- package/Source/Scene/SceneFramebuffer.js +2 -2
- package/Source/Scene/SceneTransforms.js +30 -92
- package/Source/Scene/SceneTransitioner.js +47 -47
- package/Source/Scene/ScreenSpaceCameraController.js +171 -157
- 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 +17 -24
- package/Source/Scene/SpatialNode.js +13 -13
- package/Source/Scene/SpecularEnvironmentCubeMap.js +240 -0
- 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/Tonemapper.js +35 -23
- 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 -109
- package/Source/Scene/VoxelRenderResources.js +13 -16
- 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/CzmBuiltins.js +2 -2
- package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
- package/Source/Shaders/Builtin/Functions/pbrLighting.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/pbrLighting.js +2 -2
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.glsl +23 -0
- package/Source/Shaders/Builtin/Functions/pbrNeutralTonemapping.js +25 -0
- package/Source/Shaders/Builtin/Functions/textureCube.glsl +21 -2
- package/Source/Shaders/Builtin/Functions/textureCube.js +21 -2
- 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/Builtin/Structs/materialInput.glsl +2 -0
- package/Source/Shaders/Builtin/Structs/materialInput.js +2 -0
- package/Source/Shaders/DepthPlaneVS.glsl +1 -1
- package/Source/Shaders/DepthPlaneVS.js +1 -1
- package/Source/Shaders/GlobeFS.glsl +10 -4
- package/Source/Shaders/GlobeFS.js +10 -4
- package/Source/Shaders/Materials/WaterMaskMaterial.glsl +15 -0
- package/Source/Shaders/Materials/WaterMaskMaterial.js +17 -0
- package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -1
- package/Source/Shaders/Model/AtmosphereStageFS.js +1 -1
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +40 -29
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +40 -29
- package/Source/Shaders/Model/LightingStageFS.glsl +2 -2
- package/Source/Shaders/Model/LightingStageFS.js +2 -2
- package/Source/Shaders/Model/ModelFS.glsl +26 -0
- package/Source/Shaders/Model/ModelFS.js +26 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -0
- package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.glsl +25 -0
- package/Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js +27 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -0
- package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -0
- package/Source/Shaders/SkyAtmosphereFS.glsl +1 -1
- package/Source/Shaders/SkyAtmosphereFS.js +1 -1
- package/Source/Widget/CesiumWidget.js +10 -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 +3 -3
- 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 +620 -136
- package/index.js +221 -205
- package/package.json +3 -3
- package/Build/Workers/chunk-2GEAGYUY.js +0 -1477
- package/Build/Workers/chunk-3WUV74WM.js +0 -1800
- package/Build/Workers/chunk-4MSUJ4I7.js +0 -456
- package/Build/Workers/chunk-5KWHSZYL.js +0 -834
- package/Build/Workers/chunk-5O6JWQ4E.js +0 -398
- package/Build/Workers/chunk-6OFDHMHR.js +0 -1258
- package/Build/Workers/chunk-AA4GZKOT.js +0 -75
- package/Build/Workers/chunk-B75IEX2S.js +0 -390
- package/Build/Workers/chunk-BAVI3ZS2.js +0 -39
- package/Build/Workers/chunk-BBDZYSZB.js +0 -287
- package/Build/Workers/chunk-C45MU4GZ.js +0 -220
- package/Build/Workers/chunk-CF7P7K7E.js +0 -684
- package/Build/Workers/chunk-D4K27X2M.js +0 -305
- package/Build/Workers/chunk-DKVHRNFY.js +0 -100
- package/Build/Workers/chunk-ELI4BUOT.js +0 -963
- package/Build/Workers/chunk-FQPSOOPH.js +0 -258
- package/Build/Workers/chunk-GNHZH7HP.js +0 -37
- package/Build/Workers/chunk-GWT64LKY.js +0 -171
- package/Build/Workers/chunk-HGEEOMSC.js +0 -157
- package/Build/Workers/chunk-IUROUBPA.js +0 -300
- package/Build/Workers/chunk-JNLWLSTP.js +0 -476
- package/Build/Workers/chunk-JYQNWIQQ.js +0 -44
- package/Build/Workers/chunk-KUN2ZA5X.js +0 -138
- package/Build/Workers/chunk-LXQ5QAEJ.js +0 -196
- package/Build/Workers/chunk-MBZH7YZ7.js +0 -945
- package/Build/Workers/chunk-MKXWJTFQ.js +0 -781
- package/Build/Workers/chunk-MMV6TO3P.js +0 -101
- package/Build/Workers/chunk-MSKXMXJI.js +0 -500
- package/Build/Workers/chunk-OAPA2RTG.js +0 -239
- package/Build/Workers/chunk-OE4MCOC7.js +0 -421
- package/Build/Workers/chunk-OJF4RTJG.js +0 -634
- package/Build/Workers/chunk-OXSI7N4C.js +0 -768
- package/Build/Workers/chunk-PYHLO636.js +0 -2857
- package/Build/Workers/chunk-QD4KM3GO.js +0 -138
- package/Build/Workers/chunk-QMLTCCYG.js +0 -55
- package/Build/Workers/chunk-QYQIVZBU.js +0 -117
- package/Build/Workers/chunk-R3TKLC6E.js +0 -1075
- package/Build/Workers/chunk-R4ZEWO4I.js +0 -122
- package/Build/Workers/chunk-RCK55EDX.js +0 -691
- package/Build/Workers/chunk-RHBWXX7C.js +0 -629
- package/Build/Workers/chunk-SAPFXU5X.js +0 -102
- package/Build/Workers/chunk-TBBFDFCS.js +0 -368
- package/Build/Workers/chunk-TGY6H6N6.js +0 -163
- package/Build/Workers/chunk-UOEUCKKU.js +0 -59
- package/Build/Workers/chunk-VFBNELXB.js +0 -353
- package/Build/Workers/chunk-VYWUFRRR.js +0 -1052
- package/Build/Workers/chunk-WVSELU6O.js +0 -2716
- package/Build/Workers/chunk-X43SJLQL.js +0 -10364
- package/Build/Workers/chunk-XUOJCLOH.js +0 -511
- package/Build/Workers/chunk-YLYBLJ3Y.js +0 -73
- package/Build/Workers/chunk-ZEE2EIFD.js +0 -430
- package/Build/Workers/chunk-ZIKGV7EL.js +0 -58
- package/Source/Scene/OctahedralProjectedCubeMap.js +0 -444
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +0 -78
- package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +0 -80
- package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +0 -89
- package/Source/Shaders/OctahedralProjectionAtlasFS.js +0 -91
- package/Source/Shaders/OctahedralProjectionFS.glsl +0 -14
- package/Source/Shaders/OctahedralProjectionFS.js +0 -16
- package/Source/Shaders/OctahedralProjectionVS.glsl +0 -10
- package/Source/Shaders/OctahedralProjectionVS.js +0 -12
package/Source/Scene/Picking.js
CHANGED
|
@@ -19,6 +19,7 @@ import Camera from "./Camera.js";
|
|
|
19
19
|
import Cesium3DTileFeature from "./Cesium3DTileFeature.js";
|
|
20
20
|
import Cesium3DTilePass from "./Cesium3DTilePass.js";
|
|
21
21
|
import Cesium3DTilePassState from "./Cesium3DTilePassState.js";
|
|
22
|
+
import MetadataPicking from "./MetadataPicking.js";
|
|
22
23
|
import PickDepth from "./PickDepth.js";
|
|
23
24
|
import PrimitiveCollection from "./PrimitiveCollection.js";
|
|
24
25
|
import SceneMode from "./SceneMode.js";
|
|
@@ -59,7 +60,7 @@ function Picking(scene) {
|
|
|
59
60
|
this._pickOffscreenView = new View(
|
|
60
61
|
scene,
|
|
61
62
|
pickOffscreenCamera,
|
|
62
|
-
pickOffscreenViewport
|
|
63
|
+
pickOffscreenViewport,
|
|
63
64
|
);
|
|
64
65
|
}
|
|
65
66
|
|
|
@@ -88,7 +89,7 @@ function getPickOrthographicCullingVolume(
|
|
|
88
89
|
drawingBufferPosition,
|
|
89
90
|
width,
|
|
90
91
|
height,
|
|
91
|
-
viewport
|
|
92
|
+
viewport,
|
|
92
93
|
) {
|
|
93
94
|
const camera = scene.camera;
|
|
94
95
|
let frustum = camera.frustum;
|
|
@@ -107,7 +108,7 @@ function getPickOrthographicCullingVolume(
|
|
|
107
108
|
|
|
108
109
|
const transform = Matrix4.clone(
|
|
109
110
|
camera.transform,
|
|
110
|
-
scratchOrthoPickVolumeMatrix4
|
|
111
|
+
scratchOrthoPickVolumeMatrix4,
|
|
111
112
|
);
|
|
112
113
|
camera._setTransform(Matrix4.IDENTITY);
|
|
113
114
|
|
|
@@ -128,7 +129,7 @@ function getPickOrthographicCullingVolume(
|
|
|
128
129
|
viewport.height,
|
|
129
130
|
1.0,
|
|
130
131
|
1.0,
|
|
131
|
-
scratchOrthoPixelSize
|
|
132
|
+
scratchOrthoPixelSize,
|
|
132
133
|
);
|
|
133
134
|
|
|
134
135
|
const ortho = scratchOrthoPickingFrustum;
|
|
@@ -150,7 +151,7 @@ function getPickPerspectiveCullingVolume(
|
|
|
150
151
|
drawingBufferPosition,
|
|
151
152
|
width,
|
|
152
153
|
height,
|
|
153
|
-
viewport
|
|
154
|
+
viewport,
|
|
154
155
|
) {
|
|
155
156
|
const camera = scene.camera;
|
|
156
157
|
const frustum = camera.frustum;
|
|
@@ -174,7 +175,7 @@ function getPickPerspectiveCullingVolume(
|
|
|
174
175
|
viewport.height,
|
|
175
176
|
1.0,
|
|
176
177
|
1.0,
|
|
177
|
-
scratchPerspPixelSize
|
|
178
|
+
scratchPerspPixelSize,
|
|
178
179
|
);
|
|
179
180
|
const pickWidth = pixelSize.x * width * 0.5;
|
|
180
181
|
const pickHeight = pixelSize.y * height * 0.5;
|
|
@@ -190,7 +191,7 @@ function getPickPerspectiveCullingVolume(
|
|
|
190
191
|
return offCenter.computeCullingVolume(
|
|
191
192
|
camera.positionWC,
|
|
192
193
|
camera.directionWC,
|
|
193
|
-
camera.upWC
|
|
194
|
+
camera.upWC,
|
|
194
195
|
);
|
|
195
196
|
}
|
|
196
197
|
|
|
@@ -199,7 +200,7 @@ function getPickCullingVolume(
|
|
|
199
200
|
drawingBufferPosition,
|
|
200
201
|
width,
|
|
201
202
|
height,
|
|
202
|
-
viewport
|
|
203
|
+
viewport,
|
|
203
204
|
) {
|
|
204
205
|
const frustum = scene.camera.frustum;
|
|
205
206
|
if (
|
|
@@ -211,7 +212,7 @@ function getPickCullingVolume(
|
|
|
211
212
|
drawingBufferPosition,
|
|
212
213
|
width,
|
|
213
214
|
height,
|
|
214
|
-
viewport
|
|
215
|
+
viewport,
|
|
215
216
|
);
|
|
216
217
|
}
|
|
217
218
|
|
|
@@ -220,22 +221,47 @@ function getPickCullingVolume(
|
|
|
220
221
|
drawingBufferPosition,
|
|
221
222
|
width,
|
|
222
223
|
height,
|
|
223
|
-
viewport
|
|
224
|
+
viewport,
|
|
224
225
|
);
|
|
225
226
|
}
|
|
226
227
|
|
|
227
|
-
//
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
0.0,
|
|
232
|
-
0.0,
|
|
233
|
-
scratchRectangleWidth,
|
|
234
|
-
scratchRectangleHeight
|
|
235
|
-
);
|
|
228
|
+
// Pick position and rectangle, used in all picking functions,
|
|
229
|
+
// filled in computePickingDrawingBufferRectangle and passed
|
|
230
|
+
// the the FrameBuffer begin/end methods
|
|
231
|
+
const scratchRectangle = new BoundingRectangle(0.0, 0.0, 3.0, 3.0);
|
|
236
232
|
const scratchPosition = new Cartesian2();
|
|
233
|
+
|
|
234
|
+
// Dummy color that is passed to updateAndExecuteCommands in
|
|
235
|
+
// all picking functions, used as the "background color"
|
|
237
236
|
const scratchColorZero = new Color(0.0, 0.0, 0.0, 0.0);
|
|
238
237
|
|
|
238
|
+
/**
|
|
239
|
+
* Compute the rectangle that describes the part of the drawing buffer
|
|
240
|
+
* that is relevant for picking.
|
|
241
|
+
*
|
|
242
|
+
* @param {number} drawingBufferHeight The height of the drawing buffer
|
|
243
|
+
* @param {Cartesian2} position The position inside the drawing buffer
|
|
244
|
+
* @param {number|undefined} width The width of the rectangle, assumed to
|
|
245
|
+
* be an odd integer number, default : 3.0
|
|
246
|
+
* @param {number|undefined} height The height of the rectangle. If unspecified,
|
|
247
|
+
* height will default to the value of <code>width</code>
|
|
248
|
+
* @param {BoundingRectangle} result The result rectangle
|
|
249
|
+
* @returns {BoundingRectangle} The result rectangle
|
|
250
|
+
*/
|
|
251
|
+
function computePickingDrawingBufferRectangle(
|
|
252
|
+
drawingBufferHeight,
|
|
253
|
+
position,
|
|
254
|
+
width,
|
|
255
|
+
height,
|
|
256
|
+
result,
|
|
257
|
+
) {
|
|
258
|
+
result.width = defaultValue(width, 3.0);
|
|
259
|
+
result.height = defaultValue(height, result.width);
|
|
260
|
+
result.x = position.x - (result.width - 1.0) * 0.5;
|
|
261
|
+
result.y = drawingBufferHeight - position.y - (result.height - 1.0) * 0.5;
|
|
262
|
+
return result;
|
|
263
|
+
}
|
|
264
|
+
|
|
239
265
|
/**
|
|
240
266
|
* Returns an object with a <code>primitive</code> property that contains the first (top) primitive in the scene
|
|
241
267
|
* at a particular window coordinate or undefined if nothing is at the location. Other properties may
|
|
@@ -254,9 +280,6 @@ Picking.prototype.pick = function (scene, windowPosition, width, height) {
|
|
|
254
280
|
Check.defined("windowPosition", windowPosition);
|
|
255
281
|
//>>includeEnd('debug');
|
|
256
282
|
|
|
257
|
-
scratchRectangleWidth = defaultValue(width, 3.0);
|
|
258
|
-
scratchRectangleHeight = defaultValue(height, scratchRectangleWidth);
|
|
259
|
-
|
|
260
283
|
const { context, frameState, defaultView } = scene;
|
|
261
284
|
const { viewport, pickFramebuffer } = defaultView;
|
|
262
285
|
|
|
@@ -273,7 +296,14 @@ Picking.prototype.pick = function (scene, windowPosition, width, height) {
|
|
|
273
296
|
const drawingBufferPosition = SceneTransforms.transformWindowToDrawingBuffer(
|
|
274
297
|
scene,
|
|
275
298
|
windowPosition,
|
|
276
|
-
scratchPosition
|
|
299
|
+
scratchPosition,
|
|
300
|
+
);
|
|
301
|
+
const drawingBufferRectangle = computePickingDrawingBufferRectangle(
|
|
302
|
+
context.drawingBufferHeight,
|
|
303
|
+
drawingBufferPosition,
|
|
304
|
+
width,
|
|
305
|
+
height,
|
|
306
|
+
scratchRectangle,
|
|
277
307
|
);
|
|
278
308
|
|
|
279
309
|
scene.jobScheduler.disableThisFrame();
|
|
@@ -282,9 +312,9 @@ Picking.prototype.pick = function (scene, windowPosition, width, height) {
|
|
|
282
312
|
frameState.cullingVolume = getPickCullingVolume(
|
|
283
313
|
scene,
|
|
284
314
|
drawingBufferPosition,
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
viewport
|
|
315
|
+
drawingBufferRectangle.width,
|
|
316
|
+
drawingBufferRectangle.height,
|
|
317
|
+
viewport,
|
|
288
318
|
);
|
|
289
319
|
frameState.invertClassification = false;
|
|
290
320
|
frameState.passes.pick = true;
|
|
@@ -294,20 +324,12 @@ Picking.prototype.pick = function (scene, windowPosition, width, height) {
|
|
|
294
324
|
|
|
295
325
|
scene.updateEnvironment();
|
|
296
326
|
|
|
297
|
-
|
|
298
|
-
drawingBufferPosition.x - (scratchRectangleWidth - 1.0) * 0.5;
|
|
299
|
-
scratchRectangle.y =
|
|
300
|
-
scene.drawingBufferHeight -
|
|
301
|
-
drawingBufferPosition.y -
|
|
302
|
-
(scratchRectangleHeight - 1.0) * 0.5;
|
|
303
|
-
scratchRectangle.width = scratchRectangleWidth;
|
|
304
|
-
scratchRectangle.height = scratchRectangleHeight;
|
|
305
|
-
passState = pickFramebuffer.begin(scratchRectangle, viewport);
|
|
327
|
+
passState = pickFramebuffer.begin(drawingBufferRectangle, viewport);
|
|
306
328
|
|
|
307
329
|
scene.updateAndExecuteCommands(passState, scratchColorZero);
|
|
308
330
|
scene.resolveFramebuffers(passState);
|
|
309
331
|
|
|
310
|
-
const object = pickFramebuffer.end(
|
|
332
|
+
const object = pickFramebuffer.end(drawingBufferRectangle);
|
|
311
333
|
context.endFrame();
|
|
312
334
|
return object;
|
|
313
335
|
};
|
|
@@ -327,15 +349,12 @@ Picking.prototype.pickVoxelCoordinate = function (
|
|
|
327
349
|
scene,
|
|
328
350
|
windowPosition,
|
|
329
351
|
width,
|
|
330
|
-
height
|
|
352
|
+
height,
|
|
331
353
|
) {
|
|
332
354
|
//>>includeStart('debug', pragmas.debug);
|
|
333
355
|
Check.defined("windowPosition", windowPosition);
|
|
334
356
|
//>>includeEnd('debug');
|
|
335
357
|
|
|
336
|
-
scratchRectangleWidth = defaultValue(width, 3.0);
|
|
337
|
-
scratchRectangleHeight = defaultValue(height, scratchRectangleWidth);
|
|
338
|
-
|
|
339
358
|
const { context, frameState, defaultView } = scene;
|
|
340
359
|
const { viewport, pickFramebuffer } = defaultView;
|
|
341
360
|
|
|
@@ -352,7 +371,14 @@ Picking.prototype.pickVoxelCoordinate = function (
|
|
|
352
371
|
const drawingBufferPosition = SceneTransforms.transformWindowToDrawingBuffer(
|
|
353
372
|
scene,
|
|
354
373
|
windowPosition,
|
|
355
|
-
scratchPosition
|
|
374
|
+
scratchPosition,
|
|
375
|
+
);
|
|
376
|
+
const drawingBufferRectangle = computePickingDrawingBufferRectangle(
|
|
377
|
+
context.drawingBufferHeight,
|
|
378
|
+
drawingBufferPosition,
|
|
379
|
+
width,
|
|
380
|
+
height,
|
|
381
|
+
scratchRectangle,
|
|
356
382
|
);
|
|
357
383
|
|
|
358
384
|
scene.jobScheduler.disableThisFrame();
|
|
@@ -361,9 +387,9 @@ Picking.prototype.pickVoxelCoordinate = function (
|
|
|
361
387
|
frameState.cullingVolume = getPickCullingVolume(
|
|
362
388
|
scene,
|
|
363
389
|
drawingBufferPosition,
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
viewport
|
|
390
|
+
drawingBufferRectangle.width,
|
|
391
|
+
drawingBufferRectangle.height,
|
|
392
|
+
viewport,
|
|
367
393
|
);
|
|
368
394
|
frameState.invertClassification = false;
|
|
369
395
|
frameState.passes.pickVoxel = true;
|
|
@@ -373,24 +399,141 @@ Picking.prototype.pickVoxelCoordinate = function (
|
|
|
373
399
|
|
|
374
400
|
scene.updateEnvironment();
|
|
375
401
|
|
|
376
|
-
|
|
377
|
-
drawingBufferPosition.x - (scratchRectangleWidth - 1.0) * 0.5;
|
|
378
|
-
scratchRectangle.y =
|
|
379
|
-
scene.drawingBufferHeight -
|
|
380
|
-
drawingBufferPosition.y -
|
|
381
|
-
(scratchRectangleHeight - 1.0) * 0.5;
|
|
382
|
-
scratchRectangle.width = scratchRectangleWidth;
|
|
383
|
-
scratchRectangle.height = scratchRectangleHeight;
|
|
384
|
-
passState = pickFramebuffer.begin(scratchRectangle, viewport);
|
|
402
|
+
passState = pickFramebuffer.begin(drawingBufferRectangle, viewport);
|
|
385
403
|
|
|
386
404
|
scene.updateAndExecuteCommands(passState, scratchColorZero);
|
|
387
405
|
scene.resolveFramebuffers(passState);
|
|
388
406
|
|
|
389
|
-
const voxelInfo = pickFramebuffer.
|
|
407
|
+
const voxelInfo = pickFramebuffer.readCenterPixel(drawingBufferRectangle);
|
|
390
408
|
context.endFrame();
|
|
391
409
|
return voxelInfo;
|
|
392
410
|
};
|
|
393
411
|
|
|
412
|
+
/**
|
|
413
|
+
* Pick a metadata value at the given window position.
|
|
414
|
+
*
|
|
415
|
+
* The given `pickedMetadataInfo` defines the metadata value that is
|
|
416
|
+
* supposed to be picked.
|
|
417
|
+
*
|
|
418
|
+
* The return type will depend on the type of the metadata property
|
|
419
|
+
* that is picked. Given the current limitations of the types that
|
|
420
|
+
* are supported for metadata picking, the return type will be one
|
|
421
|
+
* of the following:
|
|
422
|
+
*
|
|
423
|
+
* - For `SCALAR`, the return type will be a `number`
|
|
424
|
+
* - For `SCALAR` arrays, the return type will be a `number[]`
|
|
425
|
+
* - For `VEC2`, the return type will be a `Cartesian2`
|
|
426
|
+
* - For `VEC3`, the return type will be a `Cartesian3`
|
|
427
|
+
* - For `VEC4`, the return type will be a `Cartesian4`
|
|
428
|
+
*
|
|
429
|
+
* @param {Cartesian2} windowPosition Window coordinates to perform picking on.
|
|
430
|
+
* @param {PickedMetadataInfo} pickedMetadataInfo Information about the picked metadata.
|
|
431
|
+
* @returns {any} The metadata values
|
|
432
|
+
*
|
|
433
|
+
* @private
|
|
434
|
+
*/
|
|
435
|
+
Picking.prototype.pickMetadata = function (
|
|
436
|
+
scene,
|
|
437
|
+
windowPosition,
|
|
438
|
+
pickedMetadataInfo,
|
|
439
|
+
) {
|
|
440
|
+
//>>includeStart('debug', pragmas.debug);
|
|
441
|
+
Check.typeOf.object("windowPosition", windowPosition);
|
|
442
|
+
Check.typeOf.object("pickedMetadataInfo", pickedMetadataInfo);
|
|
443
|
+
//>>includeEnd('debug');
|
|
444
|
+
|
|
445
|
+
const { context, frameState, defaultView } = scene;
|
|
446
|
+
const { viewport, pickFramebuffer } = defaultView;
|
|
447
|
+
|
|
448
|
+
scene.view = defaultView;
|
|
449
|
+
|
|
450
|
+
viewport.x = 0;
|
|
451
|
+
viewport.y = 0;
|
|
452
|
+
viewport.width = context.drawingBufferWidth;
|
|
453
|
+
viewport.height = context.drawingBufferHeight;
|
|
454
|
+
|
|
455
|
+
let passState = defaultView.passState;
|
|
456
|
+
passState.viewport = BoundingRectangle.clone(viewport, passState.viewport);
|
|
457
|
+
|
|
458
|
+
const drawingBufferPosition = SceneTransforms.transformWindowToDrawingBuffer(
|
|
459
|
+
scene,
|
|
460
|
+
windowPosition,
|
|
461
|
+
scratchPosition,
|
|
462
|
+
);
|
|
463
|
+
const drawingBufferRectangle = computePickingDrawingBufferRectangle(
|
|
464
|
+
context.drawingBufferHeight,
|
|
465
|
+
drawingBufferPosition,
|
|
466
|
+
1.0,
|
|
467
|
+
1.0,
|
|
468
|
+
scratchRectangle,
|
|
469
|
+
);
|
|
470
|
+
|
|
471
|
+
scene.jobScheduler.disableThisFrame();
|
|
472
|
+
|
|
473
|
+
scene.updateFrameState();
|
|
474
|
+
frameState.cullingVolume = getPickCullingVolume(
|
|
475
|
+
scene,
|
|
476
|
+
drawingBufferPosition,
|
|
477
|
+
drawingBufferRectangle.width,
|
|
478
|
+
drawingBufferRectangle.height,
|
|
479
|
+
viewport,
|
|
480
|
+
);
|
|
481
|
+
frameState.invertClassification = false;
|
|
482
|
+
|
|
483
|
+
frameState.passes.pick = true;
|
|
484
|
+
frameState.tilesetPassState = pickTilesetPassState;
|
|
485
|
+
|
|
486
|
+
// Insert the information about the picked metadata property
|
|
487
|
+
// into the frame state, so that the `Scene.updateDerivedCommands`
|
|
488
|
+
// call can detect any changes in the picked metadata description,
|
|
489
|
+
// and update the derived commands for the new picked metadata
|
|
490
|
+
// property
|
|
491
|
+
frameState.pickingMetadata = true;
|
|
492
|
+
frameState.pickedMetadataInfo = pickedMetadataInfo;
|
|
493
|
+
context.uniformState.update(frameState);
|
|
494
|
+
|
|
495
|
+
scene.updateEnvironment();
|
|
496
|
+
|
|
497
|
+
passState = pickFramebuffer.begin(drawingBufferRectangle, viewport);
|
|
498
|
+
|
|
499
|
+
scene.updateAndExecuteCommands(passState, scratchColorZero);
|
|
500
|
+
|
|
501
|
+
// When OIT is enabled, then the resolveFrameBuffers function
|
|
502
|
+
// will juggle around several frame buffers, and eventually use
|
|
503
|
+
// the "environmentState.originalFramebuffer" instead of the
|
|
504
|
+
// picking frame buffer. Skipping a million questions, just
|
|
505
|
+
// switch OIT off here:
|
|
506
|
+
const oldOIT = scene._environmentState.useOIT;
|
|
507
|
+
scene._environmentState.useOIT = false;
|
|
508
|
+
scene.resolveFramebuffers(passState);
|
|
509
|
+
scene._environmentState.useOIT = oldOIT;
|
|
510
|
+
|
|
511
|
+
const rawMetadataPixel = pickFramebuffer.readCenterPixel(
|
|
512
|
+
drawingBufferRectangle,
|
|
513
|
+
);
|
|
514
|
+
context.endFrame();
|
|
515
|
+
|
|
516
|
+
frameState.pickingMetadata = false;
|
|
517
|
+
|
|
518
|
+
const metadataValue = MetadataPicking.decodeMetadataValues(
|
|
519
|
+
pickedMetadataInfo.classProperty,
|
|
520
|
+
rawMetadataPixel,
|
|
521
|
+
);
|
|
522
|
+
|
|
523
|
+
return metadataValue;
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* @typedef {object} PickedMetadataInfo
|
|
528
|
+
*
|
|
529
|
+
* Information about metadata that is supposed to be picked
|
|
530
|
+
*
|
|
531
|
+
* @property {string|undefined} schemaId The optional ID of the metadata schema
|
|
532
|
+
* @property {string} className The name of the metadata class
|
|
533
|
+
* @property {string} propertyName The name of the metadata property
|
|
534
|
+
* @property {MetadataClassProperty} classProperty The metadata class property
|
|
535
|
+
*/
|
|
536
|
+
|
|
394
537
|
function renderTranslucentDepthForPick(scene, drawingBufferPosition) {
|
|
395
538
|
// PERFORMANCE_IDEA: render translucent only and merge with the previous frame
|
|
396
539
|
const { defaultView, context, frameState, environmentState } = scene;
|
|
@@ -414,7 +557,7 @@ function renderTranslucentDepthForPick(scene, drawingBufferPosition) {
|
|
|
414
557
|
drawingBufferPosition,
|
|
415
558
|
1,
|
|
416
559
|
1,
|
|
417
|
-
viewport
|
|
560
|
+
viewport,
|
|
418
561
|
);
|
|
419
562
|
frameState.tilesetPassState = pickTilesetPassState;
|
|
420
563
|
|
|
@@ -423,7 +566,7 @@ function renderTranslucentDepthForPick(scene, drawingBufferPosition) {
|
|
|
423
566
|
passState = pickDepthFramebuffer.update(
|
|
424
567
|
context,
|
|
425
568
|
drawingBufferPosition,
|
|
426
|
-
viewport
|
|
569
|
+
viewport,
|
|
427
570
|
);
|
|
428
571
|
|
|
429
572
|
scene.updateAndExecuteCommands(passState, scratchColorZero);
|
|
@@ -440,7 +583,7 @@ const scratchOrthographicOffCenterFrustum = new OrthographicOffCenterFrustum();
|
|
|
440
583
|
Picking.prototype.pickPositionWorldCoordinates = function (
|
|
441
584
|
scene,
|
|
442
585
|
windowPosition,
|
|
443
|
-
result
|
|
586
|
+
result,
|
|
444
587
|
) {
|
|
445
588
|
if (!scene.useDepthPicking) {
|
|
446
589
|
return undefined;
|
|
@@ -450,7 +593,7 @@ Picking.prototype.pickPositionWorldCoordinates = function (
|
|
|
450
593
|
Check.defined("windowPosition", windowPosition);
|
|
451
594
|
if (!scene.context.depthTexture) {
|
|
452
595
|
throw new DeveloperError(
|
|
453
|
-
"Picking from the depth buffer is not supported. Check pickPositionSupported."
|
|
596
|
+
"Picking from the depth buffer is not supported. Check pickPositionSupported.",
|
|
454
597
|
);
|
|
455
598
|
}
|
|
456
599
|
//>>includeEnd('debug');
|
|
@@ -472,7 +615,7 @@ Picking.prototype.pickPositionWorldCoordinates = function (
|
|
|
472
615
|
const drawingBufferPosition = SceneTransforms.transformWindowToDrawingBuffer(
|
|
473
616
|
scene,
|
|
474
617
|
windowPosition,
|
|
475
|
-
scratchPosition
|
|
618
|
+
scratchPosition,
|
|
476
619
|
);
|
|
477
620
|
if (scene.pickTranslucentDepth) {
|
|
478
621
|
renderTranslucentDepthForPick(scene, drawingBufferPosition);
|
|
@@ -495,14 +638,14 @@ Picking.prototype.pickPositionWorldCoordinates = function (
|
|
|
495
638
|
frustum = camera.frustum.clone(scratchOrthographicOffCenterFrustum);
|
|
496
639
|
}
|
|
497
640
|
|
|
498
|
-
const frustumCommandsList = defaultView
|
|
641
|
+
const { frustumCommandsList } = defaultView;
|
|
499
642
|
const numFrustums = frustumCommandsList.length;
|
|
500
643
|
for (let i = 0; i < numFrustums; ++i) {
|
|
501
644
|
const pickDepth = this.getPickDepth(scene, i);
|
|
502
645
|
const depth = pickDepth.getDepth(
|
|
503
646
|
context,
|
|
504
647
|
drawingBufferPosition.x,
|
|
505
|
-
drawingBufferPosition.y
|
|
648
|
+
drawingBufferPosition.y,
|
|
506
649
|
);
|
|
507
650
|
if (!defined(depth)) {
|
|
508
651
|
continue;
|
|
@@ -529,7 +672,7 @@ Picking.prototype.pickPositionWorldCoordinates = function (
|
|
|
529
672
|
scene,
|
|
530
673
|
drawingBufferPosition,
|
|
531
674
|
depth,
|
|
532
|
-
result
|
|
675
|
+
result,
|
|
533
676
|
);
|
|
534
677
|
|
|
535
678
|
if (scene.mode === SceneMode.SCENE2D) {
|
|
@@ -610,7 +753,7 @@ function drillPick(limit, pickCallback) {
|
|
|
610
753
|
hasShowAttribute = true;
|
|
611
754
|
attributes.show = ShowGeometryInstanceAttribute.toValue(
|
|
612
755
|
false,
|
|
613
|
-
attributes.show
|
|
756
|
+
attributes.show,
|
|
614
757
|
);
|
|
615
758
|
pickedAttributes.push(attributes);
|
|
616
759
|
}
|
|
@@ -641,7 +784,7 @@ function drillPick(limit, pickCallback) {
|
|
|
641
784
|
attributes = pickedAttributes[i];
|
|
642
785
|
attributes.show = ShowGeometryInstanceAttribute.toValue(
|
|
643
786
|
true,
|
|
644
|
-
attributes.show
|
|
787
|
+
attributes.show,
|
|
645
788
|
);
|
|
646
789
|
}
|
|
647
790
|
|
|
@@ -657,7 +800,7 @@ Picking.prototype.drillPick = function (
|
|
|
657
800
|
windowPosition,
|
|
658
801
|
limit,
|
|
659
802
|
width,
|
|
660
|
-
height
|
|
803
|
+
height,
|
|
661
804
|
) {
|
|
662
805
|
const that = this;
|
|
663
806
|
const pickCallback = function () {
|
|
@@ -707,7 +850,7 @@ function updateOffscreenCameraFromRay(picking, ray, width, camera) {
|
|
|
707
850
|
return camera.frustum.computeCullingVolume(
|
|
708
851
|
camera.positionWC,
|
|
709
852
|
camera.directionWC,
|
|
710
|
-
camera.upWC
|
|
853
|
+
camera.upWC,
|
|
711
854
|
);
|
|
712
855
|
}
|
|
713
856
|
|
|
@@ -721,7 +864,7 @@ function updateMostDetailedRayPick(picking, scene, rayPick) {
|
|
|
721
864
|
picking,
|
|
722
865
|
ray,
|
|
723
866
|
width,
|
|
724
|
-
camera
|
|
867
|
+
camera,
|
|
725
868
|
);
|
|
726
869
|
|
|
727
870
|
const tilesetPassState = mostDetailedPreloadTilesetPassState;
|
|
@@ -781,7 +924,7 @@ function launchMostDetailedRayPick(
|
|
|
781
924
|
ray,
|
|
782
925
|
objectsToExclude,
|
|
783
926
|
width,
|
|
784
|
-
callback
|
|
927
|
+
callback,
|
|
785
928
|
) {
|
|
786
929
|
const tilesets = [];
|
|
787
930
|
getTilesets(scene.primitives, objectsToExclude, tilesets);
|
|
@@ -818,7 +961,7 @@ function getRayIntersection(
|
|
|
818
961
|
objectsToExclude,
|
|
819
962
|
width,
|
|
820
963
|
requirePosition,
|
|
821
|
-
mostDetailed
|
|
964
|
+
mostDetailed,
|
|
822
965
|
) {
|
|
823
966
|
const { context, frameState } = scene;
|
|
824
967
|
const uniformState = context.uniformState;
|
|
@@ -828,9 +971,15 @@ function getRayIntersection(
|
|
|
828
971
|
|
|
829
972
|
updateOffscreenCameraFromRay(picking, ray, width, view.camera);
|
|
830
973
|
|
|
831
|
-
|
|
974
|
+
const drawingBufferRectangle = BoundingRectangle.clone(
|
|
975
|
+
view.viewport,
|
|
976
|
+
scratchRectangle,
|
|
977
|
+
);
|
|
832
978
|
|
|
833
|
-
const passState = view.pickFramebuffer.begin(
|
|
979
|
+
const passState = view.pickFramebuffer.begin(
|
|
980
|
+
drawingBufferRectangle,
|
|
981
|
+
view.viewport,
|
|
982
|
+
);
|
|
834
983
|
|
|
835
984
|
scene.jobScheduler.disableThisFrame();
|
|
836
985
|
|
|
@@ -852,10 +1001,11 @@ function getRayIntersection(
|
|
|
852
1001
|
scene.resolveFramebuffers(passState);
|
|
853
1002
|
|
|
854
1003
|
let position;
|
|
855
|
-
const object = view.pickFramebuffer.end(
|
|
1004
|
+
const object = view.pickFramebuffer.end(drawingBufferRectangle);
|
|
856
1005
|
|
|
857
1006
|
if (scene.context.depthTexture) {
|
|
858
|
-
const
|
|
1007
|
+
const { frustumCommandsList } = view;
|
|
1008
|
+
const numFrustums = frustumCommandsList.length;
|
|
859
1009
|
for (let i = 0; i < numFrustums; ++i) {
|
|
860
1010
|
const pickDepth = picking.getPickDepth(scene, i);
|
|
861
1011
|
const depth = pickDepth.getDepth(context, 0, 0);
|
|
@@ -863,7 +1013,7 @@ function getRayIntersection(
|
|
|
863
1013
|
continue;
|
|
864
1014
|
}
|
|
865
1015
|
if (depth > 0.0 && depth < 1.0) {
|
|
866
|
-
const renderedFrustum =
|
|
1016
|
+
const renderedFrustum = frustumCommandsList[i];
|
|
867
1017
|
const near =
|
|
868
1018
|
renderedFrustum.near *
|
|
869
1019
|
(i !== 0 ? scene.opaqueFrustumNearOffset : 1.0);
|
|
@@ -897,7 +1047,7 @@ function getRayIntersections(
|
|
|
897
1047
|
objectsToExclude,
|
|
898
1048
|
width,
|
|
899
1049
|
requirePosition,
|
|
900
|
-
mostDetailed
|
|
1050
|
+
mostDetailed,
|
|
901
1051
|
) {
|
|
902
1052
|
const pickCallback = function () {
|
|
903
1053
|
return getRayIntersection(
|
|
@@ -907,7 +1057,7 @@ function getRayIntersections(
|
|
|
907
1057
|
objectsToExclude,
|
|
908
1058
|
width,
|
|
909
1059
|
requirePosition,
|
|
910
|
-
mostDetailed
|
|
1060
|
+
mostDetailed,
|
|
911
1061
|
);
|
|
912
1062
|
};
|
|
913
1063
|
return drillPick(limit, pickCallback);
|
|
@@ -920,7 +1070,7 @@ function pickFromRay(
|
|
|
920
1070
|
objectsToExclude,
|
|
921
1071
|
width,
|
|
922
1072
|
requirePosition,
|
|
923
|
-
mostDetailed
|
|
1073
|
+
mostDetailed,
|
|
924
1074
|
) {
|
|
925
1075
|
const results = getRayIntersections(
|
|
926
1076
|
picking,
|
|
@@ -930,7 +1080,7 @@ function pickFromRay(
|
|
|
930
1080
|
objectsToExclude,
|
|
931
1081
|
width,
|
|
932
1082
|
requirePosition,
|
|
933
|
-
mostDetailed
|
|
1083
|
+
mostDetailed,
|
|
934
1084
|
);
|
|
935
1085
|
if (results.length > 0) {
|
|
936
1086
|
return results[0];
|
|
@@ -945,7 +1095,7 @@ function drillPickFromRay(
|
|
|
945
1095
|
objectsToExclude,
|
|
946
1096
|
width,
|
|
947
1097
|
requirePosition,
|
|
948
|
-
mostDetailed
|
|
1098
|
+
mostDetailed,
|
|
949
1099
|
) {
|
|
950
1100
|
return getRayIntersections(
|
|
951
1101
|
picking,
|
|
@@ -955,7 +1105,7 @@ function drillPickFromRay(
|
|
|
955
1105
|
objectsToExclude,
|
|
956
1106
|
width,
|
|
957
1107
|
requirePosition,
|
|
958
|
-
mostDetailed
|
|
1108
|
+
mostDetailed,
|
|
959
1109
|
);
|
|
960
1110
|
}
|
|
961
1111
|
|
|
@@ -982,7 +1132,7 @@ Picking.prototype.pickFromRay = function (scene, ray, objectsToExclude, width) {
|
|
|
982
1132
|
Check.defined("ray", ray);
|
|
983
1133
|
if (scene.mode !== SceneMode.SCENE3D) {
|
|
984
1134
|
throw new DeveloperError(
|
|
985
|
-
"Ray intersections are only supported in 3D mode."
|
|
1135
|
+
"Ray intersections are only supported in 3D mode.",
|
|
986
1136
|
);
|
|
987
1137
|
}
|
|
988
1138
|
//>>includeEnd('debug');
|
|
@@ -995,13 +1145,13 @@ Picking.prototype.drillPickFromRay = function (
|
|
|
995
1145
|
ray,
|
|
996
1146
|
limit,
|
|
997
1147
|
objectsToExclude,
|
|
998
|
-
width
|
|
1148
|
+
width,
|
|
999
1149
|
) {
|
|
1000
1150
|
//>>includeStart('debug', pragmas.debug);
|
|
1001
1151
|
Check.defined("ray", ray);
|
|
1002
1152
|
if (scene.mode !== SceneMode.SCENE3D) {
|
|
1003
1153
|
throw new DeveloperError(
|
|
1004
|
-
"Ray intersections are only supported in 3D mode."
|
|
1154
|
+
"Ray intersections are only supported in 3D mode.",
|
|
1005
1155
|
);
|
|
1006
1156
|
}
|
|
1007
1157
|
//>>includeEnd('debug');
|
|
@@ -1014,7 +1164,7 @@ Picking.prototype.drillPickFromRay = function (
|
|
|
1014
1164
|
objectsToExclude,
|
|
1015
1165
|
width,
|
|
1016
1166
|
false,
|
|
1017
|
-
false
|
|
1167
|
+
false,
|
|
1018
1168
|
);
|
|
1019
1169
|
};
|
|
1020
1170
|
|
|
@@ -1022,13 +1172,13 @@ Picking.prototype.pickFromRayMostDetailed = function (
|
|
|
1022
1172
|
scene,
|
|
1023
1173
|
ray,
|
|
1024
1174
|
objectsToExclude,
|
|
1025
|
-
width
|
|
1175
|
+
width,
|
|
1026
1176
|
) {
|
|
1027
1177
|
//>>includeStart('debug', pragmas.debug);
|
|
1028
1178
|
Check.defined("ray", ray);
|
|
1029
1179
|
if (scene.mode !== SceneMode.SCENE3D) {
|
|
1030
1180
|
throw new DeveloperError(
|
|
1031
|
-
"Ray intersections are only supported in 3D mode."
|
|
1181
|
+
"Ray intersections are only supported in 3D mode.",
|
|
1032
1182
|
);
|
|
1033
1183
|
}
|
|
1034
1184
|
//>>includeEnd('debug');
|
|
@@ -1054,10 +1204,10 @@ Picking.prototype.pickFromRayMostDetailed = function (
|
|
|
1054
1204
|
objectsToExclude,
|
|
1055
1205
|
width,
|
|
1056
1206
|
false,
|
|
1057
|
-
true
|
|
1207
|
+
true,
|
|
1058
1208
|
);
|
|
1059
|
-
}
|
|
1060
|
-
)
|
|
1209
|
+
},
|
|
1210
|
+
),
|
|
1061
1211
|
);
|
|
1062
1212
|
};
|
|
1063
1213
|
|
|
@@ -1066,13 +1216,13 @@ Picking.prototype.drillPickFromRayMostDetailed = function (
|
|
|
1066
1216
|
ray,
|
|
1067
1217
|
limit,
|
|
1068
1218
|
objectsToExclude,
|
|
1069
|
-
width
|
|
1219
|
+
width,
|
|
1070
1220
|
) {
|
|
1071
1221
|
//>>includeStart('debug', pragmas.debug);
|
|
1072
1222
|
Check.defined("ray", ray);
|
|
1073
1223
|
if (scene.mode !== SceneMode.SCENE3D) {
|
|
1074
1224
|
throw new DeveloperError(
|
|
1075
|
-
"Ray intersections are only supported in 3D mode."
|
|
1225
|
+
"Ray intersections are only supported in 3D mode.",
|
|
1076
1226
|
);
|
|
1077
1227
|
}
|
|
1078
1228
|
//>>includeEnd('debug');
|
|
@@ -1099,10 +1249,10 @@ Picking.prototype.drillPickFromRayMostDetailed = function (
|
|
|
1099
1249
|
objectsToExclude,
|
|
1100
1250
|
width,
|
|
1101
1251
|
false,
|
|
1102
|
-
true
|
|
1252
|
+
true,
|
|
1103
1253
|
);
|
|
1104
|
-
}
|
|
1105
|
-
)
|
|
1254
|
+
},
|
|
1255
|
+
),
|
|
1106
1256
|
);
|
|
1107
1257
|
};
|
|
1108
1258
|
|
|
@@ -1116,12 +1266,12 @@ function getRayForSampleHeight(scene, cartographic) {
|
|
|
1116
1266
|
const height = ApproximateTerrainHeights._defaultMaxTerrainHeight;
|
|
1117
1267
|
const surfaceNormal = ellipsoid.geodeticSurfaceNormalCartographic(
|
|
1118
1268
|
cartographic,
|
|
1119
|
-
scratchSurfaceNormal
|
|
1269
|
+
scratchSurfaceNormal,
|
|
1120
1270
|
);
|
|
1121
1271
|
const surfacePosition = Cartographic.toCartesian(
|
|
1122
1272
|
cartographic,
|
|
1123
1273
|
ellipsoid,
|
|
1124
|
-
scratchSurfacePosition
|
|
1274
|
+
scratchSurfacePosition,
|
|
1125
1275
|
);
|
|
1126
1276
|
const surfaceRay = scratchSurfaceRay;
|
|
1127
1277
|
surfaceRay.origin = surfacePosition;
|
|
@@ -1137,7 +1287,7 @@ function getRayForClampToHeight(scene, cartesian) {
|
|
|
1137
1287
|
const cartographic = Cartographic.fromCartesian(
|
|
1138
1288
|
cartesian,
|
|
1139
1289
|
ellipsoid,
|
|
1140
|
-
scratchCartographic
|
|
1290
|
+
scratchCartographic,
|
|
1141
1291
|
);
|
|
1142
1292
|
return getRayForSampleHeight(scene, cartographic);
|
|
1143
1293
|
}
|
|
@@ -1147,7 +1297,7 @@ function getHeightFromCartesian(scene, cartesian) {
|
|
|
1147
1297
|
const cartographic = Cartographic.fromCartesian(
|
|
1148
1298
|
cartesian,
|
|
1149
1299
|
ellipsoid,
|
|
1150
|
-
scratchCartographic
|
|
1300
|
+
scratchCartographic,
|
|
1151
1301
|
);
|
|
1152
1302
|
return cartographic.height;
|
|
1153
1303
|
}
|
|
@@ -1157,7 +1307,7 @@ function sampleHeightMostDetailed(
|
|
|
1157
1307
|
scene,
|
|
1158
1308
|
cartographic,
|
|
1159
1309
|
objectsToExclude,
|
|
1160
|
-
width
|
|
1310
|
+
width,
|
|
1161
1311
|
) {
|
|
1162
1312
|
const ray = getRayForSampleHeight(scene, cartographic);
|
|
1163
1313
|
return launchMostDetailedRayPick(
|
|
@@ -1174,12 +1324,12 @@ function sampleHeightMostDetailed(
|
|
|
1174
1324
|
objectsToExclude,
|
|
1175
1325
|
width,
|
|
1176
1326
|
true,
|
|
1177
|
-
true
|
|
1327
|
+
true,
|
|
1178
1328
|
);
|
|
1179
1329
|
if (defined(pickResult)) {
|
|
1180
1330
|
return getHeightFromCartesian(scene, pickResult.position);
|
|
1181
1331
|
}
|
|
1182
|
-
}
|
|
1332
|
+
},
|
|
1183
1333
|
);
|
|
1184
1334
|
}
|
|
1185
1335
|
|
|
@@ -1189,7 +1339,7 @@ function clampToHeightMostDetailed(
|
|
|
1189
1339
|
cartesian,
|
|
1190
1340
|
objectsToExclude,
|
|
1191
1341
|
width,
|
|
1192
|
-
result
|
|
1342
|
+
result,
|
|
1193
1343
|
) {
|
|
1194
1344
|
const ray = getRayForClampToHeight(scene, cartesian);
|
|
1195
1345
|
return launchMostDetailedRayPick(
|
|
@@ -1206,12 +1356,12 @@ function clampToHeightMostDetailed(
|
|
|
1206
1356
|
objectsToExclude,
|
|
1207
1357
|
width,
|
|
1208
1358
|
true,
|
|
1209
|
-
true
|
|
1359
|
+
true,
|
|
1210
1360
|
);
|
|
1211
1361
|
if (defined(pickResult)) {
|
|
1212
1362
|
return Cartesian3.clone(pickResult.position, result);
|
|
1213
1363
|
}
|
|
1214
|
-
}
|
|
1364
|
+
},
|
|
1215
1365
|
);
|
|
1216
1366
|
}
|
|
1217
1367
|
|
|
@@ -1219,7 +1369,7 @@ Picking.prototype.sampleHeight = function (
|
|
|
1219
1369
|
scene,
|
|
1220
1370
|
position,
|
|
1221
1371
|
objectsToExclude,
|
|
1222
|
-
width
|
|
1372
|
+
width,
|
|
1223
1373
|
) {
|
|
1224
1374
|
//>>includeStart('debug', pragmas.debug);
|
|
1225
1375
|
Check.defined("position", position);
|
|
@@ -1228,7 +1378,7 @@ Picking.prototype.sampleHeight = function (
|
|
|
1228
1378
|
}
|
|
1229
1379
|
if (!scene.sampleHeightSupported) {
|
|
1230
1380
|
throw new DeveloperError(
|
|
1231
|
-
"sampleHeight requires depth texture support. Check sampleHeightSupported."
|
|
1381
|
+
"sampleHeight requires depth texture support. Check sampleHeightSupported.",
|
|
1232
1382
|
);
|
|
1233
1383
|
}
|
|
1234
1384
|
//>>includeEnd('debug');
|
|
@@ -1241,7 +1391,7 @@ Picking.prototype.sampleHeight = function (
|
|
|
1241
1391
|
objectsToExclude,
|
|
1242
1392
|
width,
|
|
1243
1393
|
true,
|
|
1244
|
-
false
|
|
1394
|
+
false,
|
|
1245
1395
|
);
|
|
1246
1396
|
if (defined(pickResult)) {
|
|
1247
1397
|
return getHeightFromCartesian(scene, pickResult.position);
|
|
@@ -1253,7 +1403,7 @@ Picking.prototype.clampToHeight = function (
|
|
|
1253
1403
|
cartesian,
|
|
1254
1404
|
objectsToExclude,
|
|
1255
1405
|
width,
|
|
1256
|
-
result
|
|
1406
|
+
result,
|
|
1257
1407
|
) {
|
|
1258
1408
|
//>>includeStart('debug', pragmas.debug);
|
|
1259
1409
|
Check.defined("cartesian", cartesian);
|
|
@@ -1262,7 +1412,7 @@ Picking.prototype.clampToHeight = function (
|
|
|
1262
1412
|
}
|
|
1263
1413
|
if (!scene.clampToHeightSupported) {
|
|
1264
1414
|
throw new DeveloperError(
|
|
1265
|
-
"clampToHeight requires depth texture support. Check clampToHeightSupported."
|
|
1415
|
+
"clampToHeight requires depth texture support. Check clampToHeightSupported.",
|
|
1266
1416
|
);
|
|
1267
1417
|
}
|
|
1268
1418
|
//>>includeEnd('debug');
|
|
@@ -1275,7 +1425,7 @@ Picking.prototype.clampToHeight = function (
|
|
|
1275
1425
|
objectsToExclude,
|
|
1276
1426
|
width,
|
|
1277
1427
|
true,
|
|
1278
|
-
false
|
|
1428
|
+
false,
|
|
1279
1429
|
);
|
|
1280
1430
|
if (defined(pickResult)) {
|
|
1281
1431
|
return Cartesian3.clone(pickResult.position, result);
|
|
@@ -1286,18 +1436,18 @@ Picking.prototype.sampleHeightMostDetailed = function (
|
|
|
1286
1436
|
scene,
|
|
1287
1437
|
positions,
|
|
1288
1438
|
objectsToExclude,
|
|
1289
|
-
width
|
|
1439
|
+
width,
|
|
1290
1440
|
) {
|
|
1291
1441
|
//>>includeStart('debug', pragmas.debug);
|
|
1292
1442
|
Check.defined("positions", positions);
|
|
1293
1443
|
if (scene.mode !== SceneMode.SCENE3D) {
|
|
1294
1444
|
throw new DeveloperError(
|
|
1295
|
-
"sampleHeightMostDetailed is only supported in 3D mode."
|
|
1445
|
+
"sampleHeightMostDetailed is only supported in 3D mode.",
|
|
1296
1446
|
);
|
|
1297
1447
|
}
|
|
1298
1448
|
if (!scene.sampleHeightSupported) {
|
|
1299
1449
|
throw new DeveloperError(
|
|
1300
|
-
"sampleHeightMostDetailed requires depth texture support. Check sampleHeightSupported."
|
|
1450
|
+
"sampleHeightMostDetailed requires depth texture support. Check sampleHeightSupported.",
|
|
1301
1451
|
);
|
|
1302
1452
|
}
|
|
1303
1453
|
//>>includeEnd('debug');
|
|
@@ -1313,7 +1463,7 @@ Picking.prototype.sampleHeightMostDetailed = function (
|
|
|
1313
1463
|
scene,
|
|
1314
1464
|
positions[i],
|
|
1315
1465
|
objectsToExclude,
|
|
1316
|
-
width
|
|
1466
|
+
width,
|
|
1317
1467
|
);
|
|
1318
1468
|
}
|
|
1319
1469
|
return deferPromiseUntilPostRender(
|
|
@@ -1324,7 +1474,7 @@ Picking.prototype.sampleHeightMostDetailed = function (
|
|
|
1324
1474
|
positions[i].height = heights[i];
|
|
1325
1475
|
}
|
|
1326
1476
|
return positions;
|
|
1327
|
-
})
|
|
1477
|
+
}),
|
|
1328
1478
|
);
|
|
1329
1479
|
};
|
|
1330
1480
|
|
|
@@ -1332,18 +1482,18 @@ Picking.prototype.clampToHeightMostDetailed = function (
|
|
|
1332
1482
|
scene,
|
|
1333
1483
|
cartesians,
|
|
1334
1484
|
objectsToExclude,
|
|
1335
|
-
width
|
|
1485
|
+
width,
|
|
1336
1486
|
) {
|
|
1337
1487
|
//>>includeStart('debug', pragmas.debug);
|
|
1338
1488
|
Check.defined("cartesians", cartesians);
|
|
1339
1489
|
if (scene.mode !== SceneMode.SCENE3D) {
|
|
1340
1490
|
throw new DeveloperError(
|
|
1341
|
-
"clampToHeightMostDetailed is only supported in 3D mode."
|
|
1491
|
+
"clampToHeightMostDetailed is only supported in 3D mode.",
|
|
1342
1492
|
);
|
|
1343
1493
|
}
|
|
1344
1494
|
if (!scene.clampToHeightSupported) {
|
|
1345
1495
|
throw new DeveloperError(
|
|
1346
|
-
"clampToHeightMostDetailed requires depth texture support. Check clampToHeightSupported."
|
|
1496
|
+
"clampToHeightMostDetailed requires depth texture support. Check clampToHeightSupported.",
|
|
1347
1497
|
);
|
|
1348
1498
|
}
|
|
1349
1499
|
//>>includeEnd('debug');
|
|
@@ -1360,7 +1510,7 @@ Picking.prototype.clampToHeightMostDetailed = function (
|
|
|
1360
1510
|
cartesians[i],
|
|
1361
1511
|
objectsToExclude,
|
|
1362
1512
|
width,
|
|
1363
|
-
cartesians[i]
|
|
1513
|
+
cartesians[i],
|
|
1364
1514
|
);
|
|
1365
1515
|
}
|
|
1366
1516
|
return deferPromiseUntilPostRender(
|
|
@@ -1371,7 +1521,7 @@ Picking.prototype.clampToHeightMostDetailed = function (
|
|
|
1371
1521
|
cartesians[i] = clampedCartesians[i];
|
|
1372
1522
|
}
|
|
1373
1523
|
return cartesians;
|
|
1374
|
-
})
|
|
1524
|
+
}),
|
|
1375
1525
|
);
|
|
1376
1526
|
};
|
|
1377
1527
|
|