@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/Camera.js
CHANGED
|
@@ -235,7 +235,7 @@ function Camera(scene) {
|
|
|
235
235
|
const projection = scene.mapProjection;
|
|
236
236
|
this._projection = projection;
|
|
237
237
|
this._maxCoord = projection.project(
|
|
238
|
-
new Cartographic(Math.PI, CesiumMath.PI_OVER_TWO)
|
|
238
|
+
new Cartographic(Math.PI, CesiumMath.PI_OVER_TWO),
|
|
239
239
|
);
|
|
240
240
|
this._max2Dfrustum = undefined;
|
|
241
241
|
|
|
@@ -244,7 +244,7 @@ function Camera(scene) {
|
|
|
244
244
|
this,
|
|
245
245
|
Camera.DEFAULT_VIEW_RECTANGLE,
|
|
246
246
|
this.position,
|
|
247
|
-
true
|
|
247
|
+
true,
|
|
248
248
|
);
|
|
249
249
|
|
|
250
250
|
let mag = Cartesian3.magnitude(this.position);
|
|
@@ -272,7 +272,7 @@ Camera.TRANSFORM_2D = new Matrix4(
|
|
|
272
272
|
0.0,
|
|
273
273
|
0.0,
|
|
274
274
|
0.0,
|
|
275
|
-
1.0
|
|
275
|
+
1.0,
|
|
276
276
|
);
|
|
277
277
|
|
|
278
278
|
/**
|
|
@@ -280,7 +280,7 @@ Camera.TRANSFORM_2D = new Matrix4(
|
|
|
280
280
|
*/
|
|
281
281
|
Camera.TRANSFORM_2D_INVERSE = Matrix4.inverseTransformation(
|
|
282
282
|
Camera.TRANSFORM_2D,
|
|
283
|
-
new Matrix4()
|
|
283
|
+
new Matrix4(),
|
|
284
284
|
);
|
|
285
285
|
|
|
286
286
|
/**
|
|
@@ -291,7 +291,7 @@ Camera.DEFAULT_VIEW_RECTANGLE = Rectangle.fromDegrees(
|
|
|
291
291
|
-95.0,
|
|
292
292
|
-20.0,
|
|
293
293
|
-70.0,
|
|
294
|
-
90.0
|
|
294
|
+
90.0,
|
|
295
295
|
);
|
|
296
296
|
|
|
297
297
|
/**
|
|
@@ -309,7 +309,7 @@ Camera.DEFAULT_VIEW_FACTOR = 0.5;
|
|
|
309
309
|
Camera.DEFAULT_OFFSET = new HeadingPitchRange(
|
|
310
310
|
0.0,
|
|
311
311
|
-CesiumMath.PI_OVER_FOUR,
|
|
312
|
-
0.0
|
|
312
|
+
0.0,
|
|
313
313
|
);
|
|
314
314
|
|
|
315
315
|
function updateViewMatrix(camera) {
|
|
@@ -318,12 +318,12 @@ function updateViewMatrix(camera) {
|
|
|
318
318
|
camera._direction,
|
|
319
319
|
camera._up,
|
|
320
320
|
camera._right,
|
|
321
|
-
camera._viewMatrix
|
|
321
|
+
camera._viewMatrix,
|
|
322
322
|
);
|
|
323
323
|
Matrix4.multiply(
|
|
324
324
|
camera._viewMatrix,
|
|
325
325
|
camera._actualInvTransform,
|
|
326
|
-
camera._viewMatrix
|
|
326
|
+
camera._viewMatrix,
|
|
327
327
|
);
|
|
328
328
|
Matrix4.inverseTransformation(camera._viewMatrix, camera._invViewMatrix);
|
|
329
329
|
}
|
|
@@ -332,19 +332,19 @@ function updateCameraDeltas(camera) {
|
|
|
332
332
|
if (!defined(camera._oldPositionWC)) {
|
|
333
333
|
camera._oldPositionWC = Cartesian3.clone(
|
|
334
334
|
camera.positionWC,
|
|
335
|
-
camera._oldPositionWC
|
|
335
|
+
camera._oldPositionWC,
|
|
336
336
|
);
|
|
337
337
|
} else {
|
|
338
338
|
camera.positionWCDeltaMagnitudeLastFrame = camera.positionWCDeltaMagnitude;
|
|
339
339
|
const delta = Cartesian3.subtract(
|
|
340
340
|
camera.positionWC,
|
|
341
341
|
camera._oldPositionWC,
|
|
342
|
-
camera._oldPositionWC
|
|
342
|
+
camera._oldPositionWC,
|
|
343
343
|
);
|
|
344
344
|
camera.positionWCDeltaMagnitude = Cartesian3.magnitude(delta);
|
|
345
345
|
camera._oldPositionWC = Cartesian3.clone(
|
|
346
346
|
camera.positionWC,
|
|
347
|
-
camera._oldPositionWC
|
|
347
|
+
camera._oldPositionWC,
|
|
348
348
|
);
|
|
349
349
|
|
|
350
350
|
// Update move timers
|
|
@@ -427,14 +427,14 @@ Camera.prototype._updateCameraChanged = function () {
|
|
|
427
427
|
headingChangedPercentage > percentageChanged
|
|
428
428
|
) {
|
|
429
429
|
camera._changed.raiseEvent(
|
|
430
|
-
Math.max(rollChangedPercentage, headingChangedPercentage)
|
|
430
|
+
Math.max(rollChangedPercentage, headingChangedPercentage),
|
|
431
431
|
);
|
|
432
432
|
}
|
|
433
433
|
if (camera._mode === SceneMode.SCENE2D) {
|
|
434
434
|
if (!defined(camera._changedFrustum)) {
|
|
435
435
|
camera._changedPosition = Cartesian3.clone(
|
|
436
436
|
camera.position,
|
|
437
|
-
camera._changedPosition
|
|
437
|
+
camera._changedPosition,
|
|
438
438
|
);
|
|
439
439
|
camera._changedFrustum = camera.frustum.clone();
|
|
440
440
|
return;
|
|
@@ -479,7 +479,7 @@ Camera.prototype._updateCameraChanged = function () {
|
|
|
479
479
|
camera._changed.raiseEvent(areaPercentage);
|
|
480
480
|
camera._changedPosition = Cartesian3.clone(
|
|
481
481
|
camera.position,
|
|
482
|
-
camera._changedPosition
|
|
482
|
+
camera._changedPosition,
|
|
483
483
|
);
|
|
484
484
|
camera._changedFrustum = camera.frustum.clone(camera._changedFrustum);
|
|
485
485
|
}
|
|
@@ -489,17 +489,17 @@ Camera.prototype._updateCameraChanged = function () {
|
|
|
489
489
|
if (!defined(camera._changedDirection)) {
|
|
490
490
|
camera._changedPosition = Cartesian3.clone(
|
|
491
491
|
camera.positionWC,
|
|
492
|
-
camera._changedPosition
|
|
492
|
+
camera._changedPosition,
|
|
493
493
|
);
|
|
494
494
|
camera._changedDirection = Cartesian3.clone(
|
|
495
495
|
camera.directionWC,
|
|
496
|
-
camera._changedDirection
|
|
496
|
+
camera._changedDirection,
|
|
497
497
|
);
|
|
498
498
|
return;
|
|
499
499
|
}
|
|
500
500
|
|
|
501
501
|
const dirAngle = CesiumMath.acosClamped(
|
|
502
|
-
Cartesian3.dot(camera.directionWC, camera._changedDirection)
|
|
502
|
+
Cartesian3.dot(camera.directionWC, camera._changedDirection),
|
|
503
503
|
);
|
|
504
504
|
|
|
505
505
|
let dirPercentage;
|
|
@@ -511,7 +511,7 @@ Camera.prototype._updateCameraChanged = function () {
|
|
|
511
511
|
|
|
512
512
|
const distance = Cartesian3.distance(
|
|
513
513
|
camera.positionWC,
|
|
514
|
-
camera._changedPosition
|
|
514
|
+
camera._changedPosition,
|
|
515
515
|
);
|
|
516
516
|
const heightPercentage = distance / camera.positionCartographic.height;
|
|
517
517
|
|
|
@@ -522,11 +522,11 @@ Camera.prototype._updateCameraChanged = function () {
|
|
|
522
522
|
camera._changed.raiseEvent(Math.max(dirPercentage, heightPercentage));
|
|
523
523
|
camera._changedPosition = Cartesian3.clone(
|
|
524
524
|
camera.positionWC,
|
|
525
|
-
camera._changedPosition
|
|
525
|
+
camera._changedPosition,
|
|
526
526
|
);
|
|
527
527
|
camera._changedDirection = Cartesian3.clone(
|
|
528
528
|
camera.directionWC,
|
|
529
|
-
camera._changedDirection
|
|
529
|
+
camera._changedDirection,
|
|
530
530
|
);
|
|
531
531
|
}
|
|
532
532
|
};
|
|
@@ -535,7 +535,7 @@ function convertTransformForColumbusView(camera) {
|
|
|
535
535
|
Transforms.basisTo2D(
|
|
536
536
|
camera._projection,
|
|
537
537
|
camera._transform,
|
|
538
|
-
camera._actualTransform
|
|
538
|
+
camera._actualTransform,
|
|
539
539
|
);
|
|
540
540
|
}
|
|
541
541
|
|
|
@@ -555,16 +555,16 @@ function convertTransformFor2D(camera) {
|
|
|
555
555
|
const origin = Matrix4.getColumn(
|
|
556
556
|
camera._transform,
|
|
557
557
|
3,
|
|
558
|
-
scratchCartesian4Origin
|
|
558
|
+
scratchCartesian4Origin,
|
|
559
559
|
);
|
|
560
560
|
const cartographic = ellipsoid.cartesianToCartographic(
|
|
561
561
|
origin,
|
|
562
|
-
scratchCartographic
|
|
562
|
+
scratchCartographic,
|
|
563
563
|
);
|
|
564
564
|
|
|
565
565
|
const projectedPosition = projection.project(
|
|
566
566
|
cartographic,
|
|
567
|
-
scratchCartesian3Projection
|
|
567
|
+
scratchCartesian3Projection,
|
|
568
568
|
);
|
|
569
569
|
const newOrigin = scratchCartesian4NewOrigin;
|
|
570
570
|
newOrigin.x = projectedPosition.z;
|
|
@@ -574,13 +574,13 @@ function convertTransformFor2D(camera) {
|
|
|
574
574
|
|
|
575
575
|
const newZAxis = Cartesian4.clone(
|
|
576
576
|
Cartesian4.UNIT_X,
|
|
577
|
-
scratchCartesian4NewZAxis
|
|
577
|
+
scratchCartesian4NewZAxis,
|
|
578
578
|
);
|
|
579
579
|
|
|
580
580
|
const xAxis = Cartesian4.add(
|
|
581
581
|
Matrix4.getColumn(camera._transform, 0, scratchCartesian3),
|
|
582
582
|
origin,
|
|
583
|
-
scratchCartesian3
|
|
583
|
+
scratchCartesian3,
|
|
584
584
|
);
|
|
585
585
|
ellipsoid.cartesianToCartographic(xAxis, cartographic);
|
|
586
586
|
|
|
@@ -601,7 +601,7 @@ function convertTransformFor2D(camera) {
|
|
|
601
601
|
const yAxis = Cartesian4.add(
|
|
602
602
|
Matrix4.getColumn(camera._transform, 1, scratchCartesian3),
|
|
603
603
|
origin,
|
|
604
|
-
scratchCartesian3
|
|
604
|
+
scratchCartesian3,
|
|
605
605
|
);
|
|
606
606
|
ellipsoid.cartesianToCartographic(yAxis, cartographic);
|
|
607
607
|
|
|
@@ -629,25 +629,25 @@ function convertTransformFor2D(camera) {
|
|
|
629
629
|
camera._actualTransform,
|
|
630
630
|
0,
|
|
631
631
|
newXAxis,
|
|
632
|
-
camera._actualTransform
|
|
632
|
+
camera._actualTransform,
|
|
633
633
|
);
|
|
634
634
|
Matrix4.setColumn(
|
|
635
635
|
camera._actualTransform,
|
|
636
636
|
1,
|
|
637
637
|
newYAxis,
|
|
638
|
-
camera._actualTransform
|
|
638
|
+
camera._actualTransform,
|
|
639
639
|
);
|
|
640
640
|
Matrix4.setColumn(
|
|
641
641
|
camera._actualTransform,
|
|
642
642
|
2,
|
|
643
643
|
newZAxis,
|
|
644
|
-
camera._actualTransform
|
|
644
|
+
camera._actualTransform,
|
|
645
645
|
);
|
|
646
646
|
Matrix4.setColumn(
|
|
647
647
|
camera._actualTransform,
|
|
648
648
|
3,
|
|
649
649
|
newOrigin,
|
|
650
|
-
camera._actualTransform
|
|
650
|
+
camera._actualTransform,
|
|
651
651
|
);
|
|
652
652
|
}
|
|
653
653
|
|
|
@@ -714,7 +714,7 @@ function updateMembers(camera) {
|
|
|
714
714
|
|
|
715
715
|
Matrix4.inverseTransformation(
|
|
716
716
|
camera._actualTransform,
|
|
717
|
-
camera._actualInvTransform
|
|
717
|
+
camera._actualInvTransform,
|
|
718
718
|
);
|
|
719
719
|
|
|
720
720
|
camera._modeChanged = false;
|
|
@@ -726,15 +726,16 @@ function updateMembers(camera) {
|
|
|
726
726
|
camera._positionWC = Matrix4.multiplyByPoint(
|
|
727
727
|
transform,
|
|
728
728
|
position,
|
|
729
|
-
camera._positionWC
|
|
729
|
+
camera._positionWC,
|
|
730
730
|
);
|
|
731
731
|
|
|
732
732
|
// Compute the Cartographic position of the camera.
|
|
733
733
|
if (mode === SceneMode.SCENE3D || mode === SceneMode.MORPHING) {
|
|
734
|
-
camera._positionCartographic =
|
|
735
|
-
camera.
|
|
736
|
-
|
|
737
|
-
|
|
734
|
+
camera._positionCartographic =
|
|
735
|
+
camera._projection.ellipsoid.cartesianToCartographic(
|
|
736
|
+
camera._positionWC,
|
|
737
|
+
camera._positionCartographic,
|
|
738
|
+
);
|
|
738
739
|
} else {
|
|
739
740
|
// The camera position is expressed in the 2D coordinate system where the Y axis is to the East,
|
|
740
741
|
// the Z axis is to the North, and the X axis is out of the map. Express them instead in the ENU axes where
|
|
@@ -757,7 +758,7 @@ function updateMembers(camera) {
|
|
|
757
758
|
if (directionChanged || upChanged || rightChanged) {
|
|
758
759
|
const det = Cartesian3.dot(
|
|
759
760
|
direction,
|
|
760
|
-
Cartesian3.cross(up, right, scratchCartesian)
|
|
761
|
+
Cartesian3.cross(up, right, scratchCartesian),
|
|
761
762
|
);
|
|
762
763
|
if (Math.abs(1.0 - det) > CesiumMath.EPSILON2) {
|
|
763
764
|
//orthonormalize axes
|
|
@@ -766,11 +767,11 @@ function updateMembers(camera) {
|
|
|
766
767
|
const w0 = Cartesian3.multiplyByScalar(
|
|
767
768
|
direction,
|
|
768
769
|
scalar,
|
|
769
|
-
scratchCartesian
|
|
770
|
+
scratchCartesian,
|
|
770
771
|
);
|
|
771
772
|
up = Cartesian3.normalize(
|
|
772
773
|
Cartesian3.subtract(up, w0, camera._up),
|
|
773
|
-
camera._up
|
|
774
|
+
camera._up,
|
|
774
775
|
);
|
|
775
776
|
Cartesian3.clone(up, camera.up);
|
|
776
777
|
|
|
@@ -783,7 +784,7 @@ function updateMembers(camera) {
|
|
|
783
784
|
camera._directionWC = Matrix4.multiplyByPointAsVector(
|
|
784
785
|
transform,
|
|
785
786
|
direction,
|
|
786
|
-
camera._directionWC
|
|
787
|
+
camera._directionWC,
|
|
787
788
|
);
|
|
788
789
|
Cartesian3.normalize(camera._directionWC, camera._directionWC);
|
|
789
790
|
}
|
|
@@ -797,7 +798,7 @@ function updateMembers(camera) {
|
|
|
797
798
|
camera._rightWC = Matrix4.multiplyByPointAsVector(
|
|
798
799
|
transform,
|
|
799
800
|
right,
|
|
800
|
-
camera._rightWC
|
|
801
|
+
camera._rightWC,
|
|
801
802
|
);
|
|
802
803
|
Cartesian3.normalize(camera._rightWC, camera._rightWC);
|
|
803
804
|
}
|
|
@@ -998,7 +999,7 @@ Object.defineProperties(Camera.prototype, {
|
|
|
998
999
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
999
1000
|
this.positionWC,
|
|
1000
1001
|
ellipsoid,
|
|
1001
|
-
scratchHPRMatrix2
|
|
1002
|
+
scratchHPRMatrix2,
|
|
1002
1003
|
);
|
|
1003
1004
|
this._setTransform(transform);
|
|
1004
1005
|
|
|
@@ -1029,7 +1030,7 @@ Object.defineProperties(Camera.prototype, {
|
|
|
1029
1030
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
1030
1031
|
this.positionWC,
|
|
1031
1032
|
ellipsoid,
|
|
1032
|
-
scratchHPRMatrix2
|
|
1033
|
+
scratchHPRMatrix2,
|
|
1033
1034
|
);
|
|
1034
1035
|
this._setTransform(transform);
|
|
1035
1036
|
|
|
@@ -1060,7 +1061,7 @@ Object.defineProperties(Camera.prototype, {
|
|
|
1060
1061
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
1061
1062
|
this.positionWC,
|
|
1062
1063
|
ellipsoid,
|
|
1063
|
-
scratchHPRMatrix2
|
|
1064
|
+
scratchHPRMatrix2,
|
|
1064
1065
|
);
|
|
1065
1066
|
this._setTransform(transform);
|
|
1066
1067
|
|
|
@@ -1125,7 +1126,7 @@ Camera.prototype.update = function (mode) {
|
|
|
1125
1126
|
!(this.frustum instanceof OrthographicOffCenterFrustum)
|
|
1126
1127
|
) {
|
|
1127
1128
|
throw new DeveloperError(
|
|
1128
|
-
"An OrthographicOffCenterFrustum is required in 2D."
|
|
1129
|
+
"An OrthographicOffCenterFrustum is required in 2D.",
|
|
1129
1130
|
);
|
|
1130
1131
|
}
|
|
1131
1132
|
if (
|
|
@@ -1134,7 +1135,7 @@ Camera.prototype.update = function (mode) {
|
|
|
1134
1135
|
!(this.frustum instanceof OrthographicFrustum)
|
|
1135
1136
|
) {
|
|
1136
1137
|
throw new DeveloperError(
|
|
1137
|
-
"A PerspectiveFrustum or OrthographicFrustum is required in 3D and Columbus view"
|
|
1138
|
+
"A PerspectiveFrustum or OrthographicFrustum is required in 3D and Columbus view",
|
|
1138
1139
|
);
|
|
1139
1140
|
}
|
|
1140
1141
|
//>>includeEnd('debug');
|
|
@@ -1152,7 +1153,7 @@ Camera.prototype.update = function (mode) {
|
|
|
1152
1153
|
//>>includeStart('debug', pragmas.debug);
|
|
1153
1154
|
if (!(frustum instanceof OrthographicOffCenterFrustum)) {
|
|
1154
1155
|
throw new DeveloperError(
|
|
1155
|
-
"The camera frustum is expected to be orthographic for 2D camera control."
|
|
1156
|
+
"The camera frustum is expected to be orthographic for 2D camera control.",
|
|
1156
1157
|
);
|
|
1157
1158
|
}
|
|
1158
1159
|
//>>includeEnd('debug');
|
|
@@ -1217,7 +1218,7 @@ function calculateOrthographicFrustumWidth(camera) {
|
|
|
1217
1218
|
ray,
|
|
1218
1219
|
scene,
|
|
1219
1220
|
true,
|
|
1220
|
-
scratchRayIntersection
|
|
1221
|
+
scratchRayIntersection,
|
|
1221
1222
|
);
|
|
1222
1223
|
}
|
|
1223
1224
|
|
|
@@ -1225,7 +1226,7 @@ function calculateOrthographicFrustumWidth(camera) {
|
|
|
1225
1226
|
if (scene.pickPositionSupported) {
|
|
1226
1227
|
depthIntersection = scene.pickPositionWorldCoordinates(
|
|
1227
1228
|
mousePosition,
|
|
1228
|
-
scratchDepthIntersection
|
|
1229
|
+
scratchDepthIntersection,
|
|
1229
1230
|
);
|
|
1230
1231
|
}
|
|
1231
1232
|
|
|
@@ -1271,12 +1272,12 @@ function setView3D(camera, position, hpr) {
|
|
|
1271
1272
|
//>>includeEnd('debug');
|
|
1272
1273
|
const currentTransform = Matrix4.clone(
|
|
1273
1274
|
camera.transform,
|
|
1274
|
-
scratchSetViewTransform1
|
|
1275
|
+
scratchSetViewTransform1,
|
|
1275
1276
|
);
|
|
1276
1277
|
const localTransform = Transforms.eastNorthUpToFixedFrame(
|
|
1277
1278
|
position,
|
|
1278
1279
|
camera._projection.ellipsoid,
|
|
1279
|
-
scratchSetViewTransform2
|
|
1280
|
+
scratchSetViewTransform2,
|
|
1280
1281
|
);
|
|
1281
1282
|
camera._setTransform(localTransform);
|
|
1282
1283
|
|
|
@@ -1285,7 +1286,7 @@ function setView3D(camera, position, hpr) {
|
|
|
1285
1286
|
|
|
1286
1287
|
const rotQuat = Quaternion.fromHeadingPitchRoll(
|
|
1287
1288
|
hpr,
|
|
1288
|
-
scratchSetViewQuaternion
|
|
1289
|
+
scratchSetViewQuaternion,
|
|
1289
1290
|
);
|
|
1290
1291
|
const rotMat = Matrix3.fromQuaternion(rotQuat, scratchSetViewMatrix3);
|
|
1291
1292
|
|
|
@@ -1301,7 +1302,7 @@ function setView3D(camera, position, hpr) {
|
|
|
1301
1302
|
function setViewCV(camera, position, hpr, convert) {
|
|
1302
1303
|
const currentTransform = Matrix4.clone(
|
|
1303
1304
|
camera.transform,
|
|
1304
|
-
scratchSetViewTransform1
|
|
1305
|
+
scratchSetViewTransform1,
|
|
1305
1306
|
);
|
|
1306
1307
|
camera._setTransform(Matrix4.IDENTITY);
|
|
1307
1308
|
|
|
@@ -1310,7 +1311,7 @@ function setViewCV(camera, position, hpr, convert) {
|
|
|
1310
1311
|
const projection = camera._projection;
|
|
1311
1312
|
const cartographic = projection.ellipsoid.cartesianToCartographic(
|
|
1312
1313
|
position,
|
|
1313
|
-
scratchSetViewCartographic
|
|
1314
|
+
scratchSetViewCartographic,
|
|
1314
1315
|
);
|
|
1315
1316
|
position = projection.project(cartographic, scratchSetViewCartesian);
|
|
1316
1317
|
}
|
|
@@ -1320,7 +1321,7 @@ function setViewCV(camera, position, hpr, convert) {
|
|
|
1320
1321
|
|
|
1321
1322
|
const rotQuat = Quaternion.fromHeadingPitchRoll(
|
|
1322
1323
|
hpr,
|
|
1323
|
-
scratchSetViewQuaternion
|
|
1324
|
+
scratchSetViewQuaternion,
|
|
1324
1325
|
);
|
|
1325
1326
|
const rotMat = Matrix3.fromQuaternion(rotQuat, scratchSetViewMatrix3);
|
|
1326
1327
|
|
|
@@ -1336,7 +1337,7 @@ function setViewCV(camera, position, hpr, convert) {
|
|
|
1336
1337
|
function setView2D(camera, position, hpr, convert) {
|
|
1337
1338
|
const currentTransform = Matrix4.clone(
|
|
1338
1339
|
camera.transform,
|
|
1339
|
-
scratchSetViewTransform1
|
|
1340
|
+
scratchSetViewTransform1,
|
|
1340
1341
|
);
|
|
1341
1342
|
camera._setTransform(Matrix4.IDENTITY);
|
|
1342
1343
|
|
|
@@ -1345,7 +1346,7 @@ function setView2D(camera, position, hpr, convert) {
|
|
|
1345
1346
|
const projection = camera._projection;
|
|
1346
1347
|
const cartographic = projection.ellipsoid.cartesianToCartographic(
|
|
1347
1348
|
position,
|
|
1348
|
-
scratchSetViewCartographic
|
|
1349
|
+
scratchSetViewCartographic,
|
|
1349
1350
|
);
|
|
1350
1351
|
position = projection.project(cartographic, scratchSetViewCartesian);
|
|
1351
1352
|
}
|
|
@@ -1371,7 +1372,7 @@ function setView2D(camera, position, hpr, convert) {
|
|
|
1371
1372
|
hpr.roll = 0.0;
|
|
1372
1373
|
const rotQuat = Quaternion.fromHeadingPitchRoll(
|
|
1373
1374
|
hpr,
|
|
1374
|
-
scratchSetViewQuaternion
|
|
1375
|
+
scratchSetViewQuaternion,
|
|
1375
1376
|
);
|
|
1376
1377
|
const rotMat = Matrix3.fromQuaternion(rotQuat, scratchSetViewMatrix3);
|
|
1377
1378
|
|
|
@@ -1389,7 +1390,7 @@ const scratchToHPRRight = new Cartesian3();
|
|
|
1389
1390
|
function directionUpToHeadingPitchRoll(camera, position, orientation, result) {
|
|
1390
1391
|
const direction = Cartesian3.clone(
|
|
1391
1392
|
orientation.direction,
|
|
1392
|
-
scratchToHPRDirection
|
|
1393
|
+
scratchToHPRDirection,
|
|
1393
1394
|
);
|
|
1394
1395
|
const up = Cartesian3.clone(orientation.up, scratchToHPRUp);
|
|
1395
1396
|
|
|
@@ -1398,11 +1399,11 @@ function directionUpToHeadingPitchRoll(camera, position, orientation, result) {
|
|
|
1398
1399
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
1399
1400
|
position,
|
|
1400
1401
|
ellipsoid,
|
|
1401
|
-
scratchHPRMatrix1
|
|
1402
|
+
scratchHPRMatrix1,
|
|
1402
1403
|
);
|
|
1403
1404
|
const invTransform = Matrix4.inverseTransformation(
|
|
1404
1405
|
transform,
|
|
1405
|
-
scratchHPRMatrix2
|
|
1406
|
+
scratchHPRMatrix2,
|
|
1406
1407
|
);
|
|
1407
1408
|
|
|
1408
1409
|
Matrix4.multiplyByPointAsVector(invTransform, direction, direction);
|
|
@@ -1487,7 +1488,7 @@ Camera.prototype.setView = function (options) {
|
|
|
1487
1488
|
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
1488
1489
|
let orientation = defaultValue(
|
|
1489
1490
|
options.orientation,
|
|
1490
|
-
defaultValue.EMPTY_OBJECT
|
|
1491
|
+
defaultValue.EMPTY_OBJECT,
|
|
1491
1492
|
);
|
|
1492
1493
|
|
|
1493
1494
|
const mode = this._mode;
|
|
@@ -1502,12 +1503,12 @@ Camera.prototype.setView = function (options) {
|
|
|
1502
1503
|
let convert = defaultValue(options.convert, true);
|
|
1503
1504
|
let destination = defaultValue(
|
|
1504
1505
|
options.destination,
|
|
1505
|
-
Cartesian3.clone(this.positionWC, scratchSetViewCartesian)
|
|
1506
|
+
Cartesian3.clone(this.positionWC, scratchSetViewCartesian),
|
|
1506
1507
|
);
|
|
1507
1508
|
if (defined(destination) && defined(destination.west)) {
|
|
1508
1509
|
destination = this.getRectangleCameraCoordinates(
|
|
1509
1510
|
destination,
|
|
1510
|
-
scratchSetViewCartesian
|
|
1511
|
+
scratchSetViewCartesian,
|
|
1511
1512
|
);
|
|
1512
1513
|
//>>includeStart('debug', pragmas.debug);
|
|
1513
1514
|
// destination.z may be null in 2D, but .x and .y should be numeric
|
|
@@ -1523,7 +1524,7 @@ Camera.prototype.setView = function (options) {
|
|
|
1523
1524
|
this,
|
|
1524
1525
|
destination,
|
|
1525
1526
|
orientation,
|
|
1526
|
-
scratchSetViewOptions.orientation
|
|
1527
|
+
scratchSetViewOptions.orientation,
|
|
1527
1528
|
);
|
|
1528
1529
|
}
|
|
1529
1530
|
|
|
@@ -1563,7 +1564,7 @@ Camera.prototype.flyHome = function (duration) {
|
|
|
1563
1564
|
});
|
|
1564
1565
|
} else if (mode === SceneMode.SCENE3D) {
|
|
1565
1566
|
const destination = this.getRectangleCameraCoordinates(
|
|
1566
|
-
Camera.DEFAULT_VIEW_RECTANGLE
|
|
1567
|
+
Camera.DEFAULT_VIEW_RECTANGLE,
|
|
1567
1568
|
);
|
|
1568
1569
|
|
|
1569
1570
|
let mag = Cartesian3.magnitude(destination);
|
|
@@ -1582,7 +1583,7 @@ Camera.prototype.flyHome = function (duration) {
|
|
|
1582
1583
|
position = Cartesian3.multiplyByScalar(
|
|
1583
1584
|
Cartesian3.normalize(position, position),
|
|
1584
1585
|
5.0 * maxRadii,
|
|
1585
|
-
position
|
|
1586
|
+
position,
|
|
1586
1587
|
);
|
|
1587
1588
|
this.flyTo({
|
|
1588
1589
|
destination: position,
|
|
@@ -1661,7 +1662,7 @@ Camera.prototype.worldToCameraCoordinatesVector = function (cartesian, result) {
|
|
|
1661
1662
|
return Matrix4.multiplyByPointAsVector(
|
|
1662
1663
|
this._actualInvTransform,
|
|
1663
1664
|
cartesian,
|
|
1664
|
-
result
|
|
1665
|
+
result,
|
|
1665
1666
|
);
|
|
1666
1667
|
};
|
|
1667
1668
|
|
|
@@ -1728,7 +1729,7 @@ Camera.prototype.cameraToWorldCoordinatesVector = function (cartesian, result) {
|
|
|
1728
1729
|
return Matrix4.multiplyByPointAsVector(
|
|
1729
1730
|
this._actualTransform,
|
|
1730
1731
|
cartesian,
|
|
1731
|
-
result
|
|
1732
|
+
result,
|
|
1732
1733
|
);
|
|
1733
1734
|
};
|
|
1734
1735
|
|
|
@@ -1976,7 +1977,7 @@ Camera.prototype.look = function (axis, angle) {
|
|
|
1976
1977
|
const quaternion = Quaternion.fromAxisAngle(
|
|
1977
1978
|
axis,
|
|
1978
1979
|
-turnAngle,
|
|
1979
|
-
lookScratchQuaternion
|
|
1980
|
+
lookScratchQuaternion,
|
|
1980
1981
|
);
|
|
1981
1982
|
const rotation = Matrix3.fromQuaternion(quaternion, lookScratchMatrix);
|
|
1982
1983
|
|
|
@@ -2038,7 +2039,7 @@ Camera.prototype.rotate = function (axis, angle) {
|
|
|
2038
2039
|
const quaternion = Quaternion.fromAxisAngle(
|
|
2039
2040
|
axis,
|
|
2040
2041
|
-turnAngle,
|
|
2041
|
-
rotateScratchQuaternion
|
|
2042
|
+
rotateScratchQuaternion,
|
|
2042
2043
|
);
|
|
2043
2044
|
const rotation = Matrix3.fromQuaternion(quaternion, rotateScratchMatrix);
|
|
2044
2045
|
Matrix3.multiplyByVector(rotation, this.position, this.position);
|
|
@@ -2087,24 +2088,24 @@ function rotateVertical(camera, angle) {
|
|
|
2087
2088
|
!Cartesian3.equalsEpsilon(
|
|
2088
2089
|
camera.position,
|
|
2089
2090
|
Cartesian3.ZERO,
|
|
2090
|
-
CesiumMath.EPSILON2
|
|
2091
|
+
CesiumMath.EPSILON2,
|
|
2091
2092
|
)
|
|
2092
2093
|
) {
|
|
2093
2094
|
const p = Cartesian3.normalize(position, rotateVertScratchP);
|
|
2094
2095
|
const northParallel = Cartesian3.equalsEpsilon(
|
|
2095
2096
|
p,
|
|
2096
2097
|
camera.constrainedAxis,
|
|
2097
|
-
CesiumMath.EPSILON2
|
|
2098
|
+
CesiumMath.EPSILON2,
|
|
2098
2099
|
);
|
|
2099
2100
|
const southParallel = Cartesian3.equalsEpsilon(
|
|
2100
2101
|
p,
|
|
2101
2102
|
Cartesian3.negate(camera.constrainedAxis, rotateVertScratchNegate),
|
|
2102
|
-
CesiumMath.EPSILON2
|
|
2103
|
+
CesiumMath.EPSILON2,
|
|
2103
2104
|
);
|
|
2104
2105
|
if (!northParallel && !southParallel) {
|
|
2105
2106
|
const constrainedAxis = Cartesian3.normalize(
|
|
2106
2107
|
camera.constrainedAxis,
|
|
2107
|
-
rotateVertScratchA
|
|
2108
|
+
rotateVertScratchA,
|
|
2108
2109
|
);
|
|
2109
2110
|
|
|
2110
2111
|
let dot = Cartesian3.dot(p, constrainedAxis);
|
|
@@ -2115,7 +2116,7 @@ function rotateVertical(camera, angle) {
|
|
|
2115
2116
|
|
|
2116
2117
|
dot = Cartesian3.dot(
|
|
2117
2118
|
p,
|
|
2118
|
-
Cartesian3.negate(constrainedAxis, rotateVertScratchNegate)
|
|
2119
|
+
Cartesian3.negate(constrainedAxis, rotateVertScratchNegate),
|
|
2119
2120
|
);
|
|
2120
2121
|
angleToAxis = CesiumMath.acosClamped(dot);
|
|
2121
2122
|
if (angle < 0 && -angle > angleToAxis) {
|
|
@@ -2125,7 +2126,7 @@ function rotateVertical(camera, angle) {
|
|
|
2125
2126
|
const tangent = Cartesian3.cross(
|
|
2126
2127
|
constrainedAxis,
|
|
2127
2128
|
p,
|
|
2128
|
-
rotateVertScratchTan
|
|
2129
|
+
rotateVertScratchTan,
|
|
2129
2130
|
);
|
|
2130
2131
|
camera.rotate(tangent, angle);
|
|
2131
2132
|
} else if ((northParallel && angle < 0) || (southParallel && angle > 0)) {
|
|
@@ -2182,7 +2183,7 @@ function zoom2D(camera, amount) {
|
|
|
2182
2183
|
!defined(frustum.top)
|
|
2183
2184
|
) {
|
|
2184
2185
|
throw new DeveloperError(
|
|
2185
|
-
"The camera frustum is expected to be orthographic for 2D camera control."
|
|
2186
|
+
"The camera frustum is expected to be orthographic for 2D camera control.",
|
|
2186
2187
|
);
|
|
2187
2188
|
}
|
|
2188
2189
|
//>>includeEnd('debug');
|
|
@@ -2294,7 +2295,7 @@ Camera.prototype.getMagnitude = function () {
|
|
|
2294
2295
|
} else if (this._mode === SceneMode.SCENE2D) {
|
|
2295
2296
|
return Math.max(
|
|
2296
2297
|
this.frustum.right - this.frustum.left,
|
|
2297
|
-
this.frustum.top - this.frustum.bottom
|
|
2298
|
+
this.frustum.top - this.frustum.bottom,
|
|
2298
2299
|
);
|
|
2299
2300
|
}
|
|
2300
2301
|
};
|
|
@@ -2349,7 +2350,7 @@ Camera.prototype.lookAt = function (target, offset) {
|
|
|
2349
2350
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
2350
2351
|
target,
|
|
2351
2352
|
ellipsoid,
|
|
2352
|
-
scratchLookAtMatrix4
|
|
2353
|
+
scratchLookAtMatrix4,
|
|
2353
2354
|
);
|
|
2354
2355
|
this.lookAtTransform(transform, offset);
|
|
2355
2356
|
};
|
|
@@ -2363,29 +2364,29 @@ function offsetFromHeadingPitchRange(heading, pitch, range) {
|
|
|
2363
2364
|
pitch = CesiumMath.clamp(
|
|
2364
2365
|
pitch,
|
|
2365
2366
|
-CesiumMath.PI_OVER_TWO,
|
|
2366
|
-
CesiumMath.PI_OVER_TWO
|
|
2367
|
+
CesiumMath.PI_OVER_TWO,
|
|
2367
2368
|
);
|
|
2368
2369
|
heading = CesiumMath.zeroToTwoPi(heading) - CesiumMath.PI_OVER_TWO;
|
|
2369
2370
|
|
|
2370
2371
|
const pitchQuat = Quaternion.fromAxisAngle(
|
|
2371
2372
|
Cartesian3.UNIT_Y,
|
|
2372
2373
|
-pitch,
|
|
2373
|
-
scratchLookAtHeadingPitchRangeQuaternion1
|
|
2374
|
+
scratchLookAtHeadingPitchRangeQuaternion1,
|
|
2374
2375
|
);
|
|
2375
2376
|
const headingQuat = Quaternion.fromAxisAngle(
|
|
2376
2377
|
Cartesian3.UNIT_Z,
|
|
2377
2378
|
-heading,
|
|
2378
|
-
scratchLookAtHeadingPitchRangeQuaternion2
|
|
2379
|
+
scratchLookAtHeadingPitchRangeQuaternion2,
|
|
2379
2380
|
);
|
|
2380
2381
|
const rotQuat = Quaternion.multiply(headingQuat, pitchQuat, headingQuat);
|
|
2381
2382
|
const rotMatrix = Matrix3.fromQuaternion(
|
|
2382
2383
|
rotQuat,
|
|
2383
|
-
scratchHeadingPitchRangeMatrix3
|
|
2384
|
+
scratchHeadingPitchRangeMatrix3,
|
|
2384
2385
|
);
|
|
2385
2386
|
|
|
2386
2387
|
const offset = Cartesian3.clone(
|
|
2387
2388
|
Cartesian3.UNIT_X,
|
|
2388
|
-
scratchLookAtHeadingPitchRangeOffset
|
|
2389
|
+
scratchLookAtHeadingPitchRangeOffset,
|
|
2389
2390
|
);
|
|
2390
2391
|
Matrix3.multiplyByVector(rotMatrix, offset, offset);
|
|
2391
2392
|
Cartesian3.negate(offset, offset);
|
|
@@ -2428,7 +2429,7 @@ Camera.prototype.lookAtTransform = function (transform, offset) {
|
|
|
2428
2429
|
}
|
|
2429
2430
|
if (this._mode === SceneMode.MORPHING) {
|
|
2430
2431
|
throw new DeveloperError(
|
|
2431
|
-
"lookAtTransform is not supported while morphing."
|
|
2432
|
+
"lookAtTransform is not supported while morphing.",
|
|
2432
2433
|
);
|
|
2433
2434
|
}
|
|
2434
2435
|
//>>includeEnd('debug');
|
|
@@ -2443,7 +2444,7 @@ Camera.prototype.lookAtTransform = function (transform, offset) {
|
|
|
2443
2444
|
cartesianOffset = offsetFromHeadingPitchRange(
|
|
2444
2445
|
offset.heading,
|
|
2445
2446
|
offset.pitch,
|
|
2446
|
-
offset.range
|
|
2447
|
+
offset.range,
|
|
2447
2448
|
);
|
|
2448
2449
|
} else {
|
|
2449
2450
|
cartesianOffset = offset;
|
|
@@ -2521,10 +2522,8 @@ function rectangleCameraPosition3D(camera, rectangle, result, updateCamera) {
|
|
|
2521
2522
|
const ellipsoid = camera._projection.ellipsoid;
|
|
2522
2523
|
const cameraRF = updateCamera ? camera : defaultRF;
|
|
2523
2524
|
|
|
2524
|
-
const north = rectangle
|
|
2525
|
-
|
|
2526
|
-
let east = rectangle.east;
|
|
2527
|
-
const west = rectangle.west;
|
|
2525
|
+
const { north, south, west } = rectangle;
|
|
2526
|
+
let { east } = rectangle;
|
|
2528
2527
|
|
|
2529
2528
|
// If we go across the International Date Line
|
|
2530
2529
|
if (west > east) {
|
|
@@ -2564,17 +2563,14 @@ function rectangleCameraPosition3D(camera, rectangle, result, updateCamera) {
|
|
|
2564
2563
|
!defined(ellipsoidGeodesic) ||
|
|
2565
2564
|
ellipsoidGeodesic.ellipsoid !== ellipsoid
|
|
2566
2565
|
) {
|
|
2567
|
-
viewRectangle3DEllipsoidGeodesic = ellipsoidGeodesic =
|
|
2568
|
-
undefined,
|
|
2569
|
-
undefined,
|
|
2570
|
-
ellipsoid
|
|
2571
|
-
);
|
|
2566
|
+
viewRectangle3DEllipsoidGeodesic = ellipsoidGeodesic =
|
|
2567
|
+
new EllipsoidGeodesic(undefined, undefined, ellipsoid);
|
|
2572
2568
|
}
|
|
2573
2569
|
|
|
2574
2570
|
ellipsoidGeodesic.setEndPoints(northCartographic, southCartographic);
|
|
2575
2571
|
latitude = ellipsoidGeodesic.interpolateUsingFraction(
|
|
2576
2572
|
0.5,
|
|
2577
|
-
viewRectangle3DCartographic1
|
|
2573
|
+
viewRectangle3DCartographic1,
|
|
2578
2574
|
).latitude;
|
|
2579
2575
|
}
|
|
2580
2576
|
|
|
@@ -2585,7 +2581,7 @@ function rectangleCameraPosition3D(camera, rectangle, result, updateCamera) {
|
|
|
2585
2581
|
|
|
2586
2582
|
const center = ellipsoid.cartographicToCartesian(
|
|
2587
2583
|
centerCartographic,
|
|
2588
|
-
viewRectangle3DCenter
|
|
2584
|
+
viewRectangle3DCenter,
|
|
2589
2585
|
);
|
|
2590
2586
|
|
|
2591
2587
|
const cart = viewRectangle3DCartographic1;
|
|
@@ -2593,32 +2589,32 @@ function rectangleCameraPosition3D(camera, rectangle, result, updateCamera) {
|
|
|
2593
2589
|
cart.latitude = north;
|
|
2594
2590
|
const northEast = ellipsoid.cartographicToCartesian(
|
|
2595
2591
|
cart,
|
|
2596
|
-
viewRectangle3DNorthEast
|
|
2592
|
+
viewRectangle3DNorthEast,
|
|
2597
2593
|
);
|
|
2598
2594
|
cart.longitude = west;
|
|
2599
2595
|
const northWest = ellipsoid.cartographicToCartesian(
|
|
2600
2596
|
cart,
|
|
2601
|
-
viewRectangle3DNorthWest
|
|
2597
|
+
viewRectangle3DNorthWest,
|
|
2602
2598
|
);
|
|
2603
2599
|
cart.longitude = longitude;
|
|
2604
2600
|
const northCenter = ellipsoid.cartographicToCartesian(
|
|
2605
2601
|
cart,
|
|
2606
|
-
viewRectangle3DNorthCenter
|
|
2602
|
+
viewRectangle3DNorthCenter,
|
|
2607
2603
|
);
|
|
2608
2604
|
cart.latitude = south;
|
|
2609
2605
|
const southCenter = ellipsoid.cartographicToCartesian(
|
|
2610
2606
|
cart,
|
|
2611
|
-
viewRectangle3DSouthCenter
|
|
2607
|
+
viewRectangle3DSouthCenter,
|
|
2612
2608
|
);
|
|
2613
2609
|
cart.longitude = east;
|
|
2614
2610
|
const southEast = ellipsoid.cartographicToCartesian(
|
|
2615
2611
|
cart,
|
|
2616
|
-
viewRectangle3DSouthEast
|
|
2612
|
+
viewRectangle3DSouthEast,
|
|
2617
2613
|
);
|
|
2618
2614
|
cart.longitude = west;
|
|
2619
2615
|
const southWest = ellipsoid.cartographicToCartesian(
|
|
2620
2616
|
cart,
|
|
2621
|
-
viewRectangle3DSouthWest
|
|
2617
|
+
viewRectangle3DSouthWest,
|
|
2622
2618
|
);
|
|
2623
2619
|
|
|
2624
2620
|
Cartesian3.subtract(northWest, center, northWest);
|
|
@@ -2638,11 +2634,11 @@ function rectangleCameraPosition3D(camera, rectangle, result, updateCamera) {
|
|
|
2638
2634
|
if (camera.frustum instanceof OrthographicFrustum) {
|
|
2639
2635
|
const width = Math.max(
|
|
2640
2636
|
Cartesian3.distance(northEast, northWest),
|
|
2641
|
-
Cartesian3.distance(southEast, southWest)
|
|
2637
|
+
Cartesian3.distance(southEast, southWest),
|
|
2642
2638
|
);
|
|
2643
2639
|
const height = Math.max(
|
|
2644
2640
|
Cartesian3.distance(northEast, southEast),
|
|
2645
|
-
Cartesian3.distance(northWest, southWest)
|
|
2641
|
+
Cartesian3.distance(northWest, southWest),
|
|
2646
2642
|
);
|
|
2647
2643
|
|
|
2648
2644
|
let rightScalar;
|
|
@@ -2675,7 +2671,7 @@ function rectangleCameraPosition3D(camera, rectangle, result, updateCamera) {
|
|
|
2675
2671
|
computeD(direction, right, northEast, tanTheta),
|
|
2676
2672
|
computeD(direction, right, southWest, tanTheta),
|
|
2677
2673
|
computeD(direction, right, northCenter, tanTheta),
|
|
2678
|
-
computeD(direction, right, southCenter, tanTheta)
|
|
2674
|
+
computeD(direction, right, southCenter, tanTheta),
|
|
2679
2675
|
);
|
|
2680
2676
|
|
|
2681
2677
|
// If the rectangle crosses the equator, compute D at the equator, too, because that's the
|
|
@@ -2687,25 +2683,25 @@ function rectangleCameraPosition3D(camera, rectangle, result, updateCamera) {
|
|
|
2687
2683
|
equatorCartographic.height = 0.0;
|
|
2688
2684
|
let equatorPosition = ellipsoid.cartographicToCartesian(
|
|
2689
2685
|
equatorCartographic,
|
|
2690
|
-
viewRectangle3DEquator
|
|
2686
|
+
viewRectangle3DEquator,
|
|
2691
2687
|
);
|
|
2692
2688
|
Cartesian3.subtract(equatorPosition, center, equatorPosition);
|
|
2693
2689
|
d = Math.max(
|
|
2694
2690
|
d,
|
|
2695
2691
|
computeD(direction, up, equatorPosition, tanPhi),
|
|
2696
|
-
computeD(direction, right, equatorPosition, tanTheta)
|
|
2692
|
+
computeD(direction, right, equatorPosition, tanTheta),
|
|
2697
2693
|
);
|
|
2698
2694
|
|
|
2699
2695
|
equatorCartographic.longitude = east;
|
|
2700
2696
|
equatorPosition = ellipsoid.cartographicToCartesian(
|
|
2701
2697
|
equatorCartographic,
|
|
2702
|
-
viewRectangle3DEquator
|
|
2698
|
+
viewRectangle3DEquator,
|
|
2703
2699
|
);
|
|
2704
2700
|
Cartesian3.subtract(equatorPosition, center, equatorPosition);
|
|
2705
2701
|
d = Math.max(
|
|
2706
2702
|
d,
|
|
2707
2703
|
computeD(direction, up, equatorPosition, tanPhi),
|
|
2708
|
-
computeD(direction, right, equatorPosition, tanTheta)
|
|
2704
|
+
computeD(direction, right, equatorPosition, tanTheta),
|
|
2709
2705
|
);
|
|
2710
2706
|
}
|
|
2711
2707
|
}
|
|
@@ -2713,7 +2709,7 @@ function rectangleCameraPosition3D(camera, rectangle, result, updateCamera) {
|
|
|
2713
2709
|
return Cartesian3.add(
|
|
2714
2710
|
center,
|
|
2715
2711
|
Cartesian3.multiplyByScalar(direction, -d, viewRectangle3DEquator),
|
|
2716
|
-
result
|
|
2712
|
+
result,
|
|
2717
2713
|
);
|
|
2718
2714
|
}
|
|
2719
2715
|
|
|
@@ -2750,7 +2746,7 @@ function rectangleCameraPositionColumbusView(camera, rectangle, result) {
|
|
|
2750
2746
|
result.z =
|
|
2751
2747
|
Math.max(
|
|
2752
2748
|
(northEast.x - southWest.x) / tanTheta,
|
|
2753
|
-
(northEast.y - southWest.y) / tanPhi
|
|
2749
|
+
(northEast.y - southWest.y) / tanPhi,
|
|
2754
2750
|
) * 0.5;
|
|
2755
2751
|
} else {
|
|
2756
2752
|
const width = northEast.x - southWest.x;
|
|
@@ -2935,7 +2931,7 @@ Camera.prototype.pickEllipsoid = function (windowPosition, ellipsoid, result) {
|
|
|
2935
2931
|
this,
|
|
2936
2932
|
windowPosition,
|
|
2937
2933
|
this._projection,
|
|
2938
|
-
result
|
|
2934
|
+
result,
|
|
2939
2935
|
);
|
|
2940
2936
|
} else {
|
|
2941
2937
|
return undefined;
|
|
@@ -2965,18 +2961,18 @@ function getPickRayPerspective(camera, windowPosition, result) {
|
|
|
2965
2961
|
const nearCenter = Cartesian3.multiplyByScalar(
|
|
2966
2962
|
camera.directionWC,
|
|
2967
2963
|
near,
|
|
2968
|
-
pickPerspCenter
|
|
2964
|
+
pickPerspCenter,
|
|
2969
2965
|
);
|
|
2970
2966
|
Cartesian3.add(position, nearCenter, nearCenter);
|
|
2971
2967
|
const xDir = Cartesian3.multiplyByScalar(
|
|
2972
2968
|
camera.rightWC,
|
|
2973
2969
|
x * near * tanTheta,
|
|
2974
|
-
pickPerspXDir
|
|
2970
|
+
pickPerspXDir,
|
|
2975
2971
|
);
|
|
2976
2972
|
const yDir = Cartesian3.multiplyByScalar(
|
|
2977
2973
|
camera.upWC,
|
|
2978
2974
|
y * near * tanPhi,
|
|
2979
|
-
pickPerspYDir
|
|
2975
|
+
pickPerspYDir,
|
|
2980
2976
|
);
|
|
2981
2977
|
const direction = Cartesian3.add(nearCenter, xDir, result.direction);
|
|
2982
2978
|
Cartesian3.add(direction, yDir, direction);
|
|
@@ -3021,7 +3017,7 @@ function getPickRayOrthographic(camera, windowPosition, result) {
|
|
|
3021
3017
|
result.origin.z,
|
|
3022
3018
|
result.origin.x,
|
|
3023
3019
|
result.origin.y,
|
|
3024
|
-
result.origin
|
|
3020
|
+
result.origin,
|
|
3025
3021
|
);
|
|
3026
3022
|
}
|
|
3027
3023
|
|
|
@@ -3083,12 +3079,12 @@ Camera.prototype.distanceToBoundingSphere = function (boundingSphere) {
|
|
|
3083
3079
|
const toCenter = Cartesian3.subtract(
|
|
3084
3080
|
this.positionWC,
|
|
3085
3081
|
boundingSphere.center,
|
|
3086
|
-
scratchToCenter
|
|
3082
|
+
scratchToCenter,
|
|
3087
3083
|
);
|
|
3088
3084
|
const proj = Cartesian3.multiplyByScalar(
|
|
3089
3085
|
this.directionWC,
|
|
3090
3086
|
Cartesian3.dot(toCenter, this.directionWC),
|
|
3091
|
-
scratchProj
|
|
3087
|
+
scratchProj,
|
|
3092
3088
|
);
|
|
3093
3089
|
return Math.max(0.0, Cartesian3.magnitude(proj) - boundingSphere.radius);
|
|
3094
3090
|
};
|
|
@@ -3106,7 +3102,7 @@ const scratchPixelSize = new Cartesian2();
|
|
|
3106
3102
|
Camera.prototype.getPixelSize = function (
|
|
3107
3103
|
boundingSphere,
|
|
3108
3104
|
drawingBufferWidth,
|
|
3109
|
-
drawingBufferHeight
|
|
3105
|
+
drawingBufferHeight,
|
|
3110
3106
|
) {
|
|
3111
3107
|
//>>includeStart('debug', pragmas.debug);
|
|
3112
3108
|
if (!defined(boundingSphere)) {
|
|
@@ -3126,7 +3122,7 @@ Camera.prototype.getPixelSize = function (
|
|
|
3126
3122
|
drawingBufferHeight,
|
|
3127
3123
|
distance,
|
|
3128
3124
|
this._scene.pixelRatio,
|
|
3129
|
-
scratchPixelSize
|
|
3125
|
+
scratchPixelSize,
|
|
3130
3126
|
);
|
|
3131
3127
|
return Math.max(pixelSize.x, pixelSize.y);
|
|
3132
3128
|
};
|
|
@@ -3137,7 +3133,7 @@ function createAnimationTemplateCV(
|
|
|
3137
3133
|
center,
|
|
3138
3134
|
maxX,
|
|
3139
3135
|
maxY,
|
|
3140
|
-
duration
|
|
3136
|
+
duration,
|
|
3141
3137
|
) {
|
|
3142
3138
|
const newPosition = Cartesian3.clone(position);
|
|
3143
3139
|
|
|
@@ -3158,7 +3154,7 @@ function createAnimationTemplateCV(
|
|
|
3158
3154
|
position,
|
|
3159
3155
|
newPosition,
|
|
3160
3156
|
value.time,
|
|
3161
|
-
new Cartesian3()
|
|
3157
|
+
new Cartesian3(),
|
|
3162
3158
|
);
|
|
3163
3159
|
camera.worldToCameraCoordinatesPoint(interp, camera.position);
|
|
3164
3160
|
}
|
|
@@ -3186,14 +3182,14 @@ function createAnimationCV(camera, duration) {
|
|
|
3186
3182
|
|
|
3187
3183
|
const normal = camera.worldToCameraCoordinatesVector(
|
|
3188
3184
|
Cartesian3.UNIT_X,
|
|
3189
|
-
normalScratch
|
|
3185
|
+
normalScratch,
|
|
3190
3186
|
);
|
|
3191
3187
|
const scalar =
|
|
3192
3188
|
-Cartesian3.dot(normal, position) / Cartesian3.dot(normal, direction);
|
|
3193
3189
|
const center = Cartesian3.add(
|
|
3194
3190
|
position,
|
|
3195
3191
|
Cartesian3.multiplyByScalar(direction, scalar, centerScratch),
|
|
3196
|
-
centerScratch
|
|
3192
|
+
centerScratch,
|
|
3197
3193
|
);
|
|
3198
3194
|
camera.cameraToWorldCoordinatesPoint(center, center);
|
|
3199
3195
|
|
|
@@ -3202,7 +3198,7 @@ function createAnimationCV(camera, duration) {
|
|
|
3202
3198
|
const tanPhi = Math.tan(camera.frustum.fovy * 0.5);
|
|
3203
3199
|
const tanTheta = camera.frustum.aspectRatio * tanPhi;
|
|
3204
3200
|
const distToC = Cartesian3.magnitude(
|
|
3205
|
-
Cartesian3.subtract(position, center, scratchCartesian3Subtract)
|
|
3201
|
+
Cartesian3.subtract(position, center, scratchCartesian3Subtract),
|
|
3206
3202
|
);
|
|
3207
3203
|
const dWidth = tanTheta * distToC;
|
|
3208
3204
|
const dHeight = tanPhi * distToC;
|
|
@@ -3228,7 +3224,7 @@ function createAnimationCV(camera, duration) {
|
|
|
3228
3224
|
center,
|
|
3229
3225
|
maxX,
|
|
3230
3226
|
maxY,
|
|
3231
|
-
duration
|
|
3227
|
+
duration,
|
|
3232
3228
|
);
|
|
3233
3229
|
}
|
|
3234
3230
|
}
|
|
@@ -3386,20 +3382,20 @@ Camera.prototype.flyTo = function (options) {
|
|
|
3386
3382
|
if (isRectangle) {
|
|
3387
3383
|
destination = this.getRectangleCameraCoordinates(
|
|
3388
3384
|
destination,
|
|
3389
|
-
scratchFlyToDestination
|
|
3385
|
+
scratchFlyToDestination,
|
|
3390
3386
|
);
|
|
3391
3387
|
}
|
|
3392
3388
|
|
|
3393
3389
|
let orientation = defaultValue(
|
|
3394
3390
|
options.orientation,
|
|
3395
|
-
defaultValue.EMPTY_OBJECT
|
|
3391
|
+
defaultValue.EMPTY_OBJECT,
|
|
3396
3392
|
);
|
|
3397
3393
|
if (defined(orientation.direction)) {
|
|
3398
3394
|
orientation = directionUpToHeadingPitchRoll(
|
|
3399
3395
|
this,
|
|
3400
3396
|
destination,
|
|
3401
3397
|
orientation,
|
|
3402
|
-
scratchSetViewOptions.orientation
|
|
3398
|
+
scratchSetViewOptions.orientation,
|
|
3403
3399
|
);
|
|
3404
3400
|
}
|
|
3405
3401
|
|
|
@@ -3468,11 +3464,12 @@ Camera.prototype.flyTo = function (options) {
|
|
|
3468
3464
|
orientation: orientation,
|
|
3469
3465
|
});
|
|
3470
3466
|
|
|
3471
|
-
this._scene.preloadFlightCullingVolume =
|
|
3472
|
-
preloadFlightCamera.
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3467
|
+
this._scene.preloadFlightCullingVolume =
|
|
3468
|
+
preloadFlightCamera.frustum.computeCullingVolume(
|
|
3469
|
+
preloadFlightCamera.positionWC,
|
|
3470
|
+
preloadFlightCamera.directionWC,
|
|
3471
|
+
preloadFlightCamera.upWC,
|
|
3472
|
+
);
|
|
3476
3473
|
}
|
|
3477
3474
|
};
|
|
3478
3475
|
|
|
@@ -3508,7 +3505,7 @@ const MINIMUM_ZOOM = 100.0;
|
|
|
3508
3505
|
|
|
3509
3506
|
function adjustBoundingSphereOffset(camera, boundingSphere, offset) {
|
|
3510
3507
|
offset = HeadingPitchRange.clone(
|
|
3511
|
-
defined(offset) ? offset : Camera.DEFAULT_OFFSET
|
|
3508
|
+
defined(offset) ? offset : Camera.DEFAULT_OFFSET,
|
|
3512
3509
|
);
|
|
3513
3510
|
|
|
3514
3511
|
const minimumZoom =
|
|
@@ -3560,7 +3557,7 @@ Camera.prototype.viewBoundingSphere = function (boundingSphere, offset) {
|
|
|
3560
3557
|
|
|
3561
3558
|
if (this._mode === SceneMode.MORPHING) {
|
|
3562
3559
|
throw new DeveloperError(
|
|
3563
|
-
"viewBoundingSphere is not supported while morphing."
|
|
3560
|
+
"viewBoundingSphere is not supported while morphing.",
|
|
3564
3561
|
);
|
|
3565
3562
|
}
|
|
3566
3563
|
//>>includeEnd('debug');
|
|
@@ -3617,7 +3614,7 @@ Camera.prototype.flyToBoundingSphere = function (boundingSphere, options) {
|
|
|
3617
3614
|
const offset = adjustBoundingSphereOffset(
|
|
3618
3615
|
this,
|
|
3619
3616
|
boundingSphere,
|
|
3620
|
-
options.offset
|
|
3617
|
+
options.offset,
|
|
3621
3618
|
);
|
|
3622
3619
|
|
|
3623
3620
|
let position;
|
|
@@ -3625,13 +3622,13 @@ Camera.prototype.flyToBoundingSphere = function (boundingSphere, options) {
|
|
|
3625
3622
|
position = Cartesian3.multiplyByScalar(
|
|
3626
3623
|
Cartesian3.UNIT_Z,
|
|
3627
3624
|
offset.range,
|
|
3628
|
-
scratchflyToBoundingSphereDestination
|
|
3625
|
+
scratchflyToBoundingSphereDestination,
|
|
3629
3626
|
);
|
|
3630
3627
|
} else {
|
|
3631
3628
|
position = offsetFromHeadingPitchRange(
|
|
3632
3629
|
offset.heading,
|
|
3633
3630
|
offset.pitch,
|
|
3634
|
-
offset.range
|
|
3631
|
+
offset.range,
|
|
3635
3632
|
);
|
|
3636
3633
|
}
|
|
3637
3634
|
|
|
@@ -3641,7 +3638,7 @@ Camera.prototype.flyToBoundingSphere = function (boundingSphere, options) {
|
|
|
3641
3638
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
3642
3639
|
boundingSphere.center,
|
|
3643
3640
|
ellipsoid,
|
|
3644
|
-
scratchflyToBoundingSphereTransform
|
|
3641
|
+
scratchflyToBoundingSphereTransform,
|
|
3645
3642
|
);
|
|
3646
3643
|
Matrix4.multiplyByPoint(transform, position, position);
|
|
3647
3644
|
|
|
@@ -3652,29 +3649,29 @@ Camera.prototype.flyToBoundingSphere = function (boundingSphere, options) {
|
|
|
3652
3649
|
direction = Cartesian3.subtract(
|
|
3653
3650
|
boundingSphere.center,
|
|
3654
3651
|
position,
|
|
3655
|
-
scratchflyToBoundingSphereDirection
|
|
3652
|
+
scratchflyToBoundingSphereDirection,
|
|
3656
3653
|
);
|
|
3657
3654
|
Cartesian3.normalize(direction, direction);
|
|
3658
3655
|
|
|
3659
3656
|
up = Matrix4.multiplyByPointAsVector(
|
|
3660
3657
|
transform,
|
|
3661
3658
|
Cartesian3.UNIT_Z,
|
|
3662
|
-
scratchflyToBoundingSphereUp
|
|
3659
|
+
scratchflyToBoundingSphereUp,
|
|
3663
3660
|
);
|
|
3664
3661
|
if (1.0 - Math.abs(Cartesian3.dot(direction, up)) < CesiumMath.EPSILON6) {
|
|
3665
3662
|
const rotateQuat = Quaternion.fromAxisAngle(
|
|
3666
3663
|
direction,
|
|
3667
3664
|
offset.heading,
|
|
3668
|
-
scratchFlyToBoundingSphereQuaternion
|
|
3665
|
+
scratchFlyToBoundingSphereQuaternion,
|
|
3669
3666
|
);
|
|
3670
3667
|
const rotation = Matrix3.fromQuaternion(
|
|
3671
3668
|
rotateQuat,
|
|
3672
|
-
scratchFlyToBoundingSphereMatrix3
|
|
3669
|
+
scratchFlyToBoundingSphereMatrix3,
|
|
3673
3670
|
);
|
|
3674
3671
|
|
|
3675
3672
|
Cartesian3.fromCartesian4(
|
|
3676
3673
|
Matrix4.getColumn(transform, 1, scratchFlyToBoundingSphereCart4),
|
|
3677
|
-
up
|
|
3674
|
+
up,
|
|
3678
3675
|
);
|
|
3679
3676
|
Matrix3.multiplyByVector(rotation, up, up);
|
|
3680
3677
|
}
|
|
@@ -3682,7 +3679,7 @@ Camera.prototype.flyToBoundingSphere = function (boundingSphere, options) {
|
|
|
3682
3679
|
const right = Cartesian3.cross(
|
|
3683
3680
|
direction,
|
|
3684
3681
|
up,
|
|
3685
|
-
scratchflyToBoundingSphereRight
|
|
3682
|
+
scratchflyToBoundingSphereRight,
|
|
3686
3683
|
);
|
|
3687
3684
|
Cartesian3.cross(right, direction, up);
|
|
3688
3685
|
Cartesian3.normalize(up, up);
|
|
@@ -3725,7 +3722,7 @@ function computeHorizonQuad(camera, ellipsoid) {
|
|
|
3725
3722
|
const q = Cartesian3.multiplyComponents(
|
|
3726
3723
|
ellipsoid.oneOverRadii,
|
|
3727
3724
|
p,
|
|
3728
|
-
scratchCartesian3_1
|
|
3725
|
+
scratchCartesian3_1,
|
|
3729
3726
|
);
|
|
3730
3727
|
|
|
3731
3728
|
const qMagnitude = Cartesian3.magnitude(q);
|
|
@@ -3742,11 +3739,11 @@ function computeHorizonQuad(camera, ellipsoid) {
|
|
|
3742
3739
|
} else {
|
|
3743
3740
|
eUnit = Cartesian3.normalize(
|
|
3744
3741
|
Cartesian3.cross(Cartesian3.UNIT_Z, qUnit, scratchCartesian3_3),
|
|
3745
|
-
scratchCartesian3_3
|
|
3742
|
+
scratchCartesian3_3,
|
|
3746
3743
|
);
|
|
3747
3744
|
nUnit = Cartesian3.normalize(
|
|
3748
3745
|
Cartesian3.cross(qUnit, eUnit, scratchCartesian3_4),
|
|
3749
|
-
scratchCartesian3_4
|
|
3746
|
+
scratchCartesian3_4,
|
|
3750
3747
|
);
|
|
3751
3748
|
}
|
|
3752
3749
|
|
|
@@ -3757,18 +3754,18 @@ function computeHorizonQuad(camera, ellipsoid) {
|
|
|
3757
3754
|
const center = Cartesian3.multiplyByScalar(
|
|
3758
3755
|
qUnit,
|
|
3759
3756
|
1.0 / qMagnitude,
|
|
3760
|
-
scratchCartesian3_1
|
|
3757
|
+
scratchCartesian3_1,
|
|
3761
3758
|
);
|
|
3762
3759
|
const scalar = wMagnitude / qMagnitude;
|
|
3763
3760
|
const eastOffset = Cartesian3.multiplyByScalar(
|
|
3764
3761
|
eUnit,
|
|
3765
3762
|
scalar,
|
|
3766
|
-
scratchCartesian3_2
|
|
3763
|
+
scratchCartesian3_2,
|
|
3767
3764
|
);
|
|
3768
3765
|
const northOffset = Cartesian3.multiplyByScalar(
|
|
3769
3766
|
nUnit,
|
|
3770
3767
|
scalar,
|
|
3771
|
-
scratchCartesian3_3
|
|
3768
|
+
scratchCartesian3_3,
|
|
3772
3769
|
);
|
|
3773
3770
|
|
|
3774
3771
|
// A conservative measure for the longitudes would be to use the min/max longitudes of the bounding frustum.
|
|
@@ -3805,7 +3802,7 @@ function addToResult(x, y, index, camera, ellipsoid, computedHorizonQuad) {
|
|
|
3805
3802
|
const r = camera.pickEllipsoid(
|
|
3806
3803
|
scratchPickCartesian2,
|
|
3807
3804
|
ellipsoid,
|
|
3808
|
-
scratchRectCartesian
|
|
3805
|
+
scratchRectCartesian,
|
|
3809
3806
|
);
|
|
3810
3807
|
if (defined(r)) {
|
|
3811
3808
|
cartoArray[index] = ellipsoid.cartesianToCartographic(r, cartoArray[index]);
|
|
@@ -3813,7 +3810,7 @@ function addToResult(x, y, index, camera, ellipsoid, computedHorizonQuad) {
|
|
|
3813
3810
|
}
|
|
3814
3811
|
cartoArray[index] = ellipsoid.cartesianToCartographic(
|
|
3815
3812
|
computedHorizonQuad[index],
|
|
3816
|
-
cartoArray[index]
|
|
3813
|
+
cartoArray[index],
|
|
3817
3814
|
);
|
|
3818
3815
|
return 0;
|
|
3819
3816
|
}
|
|
@@ -3830,11 +3827,11 @@ Camera.prototype.computeViewRectangle = function (ellipsoid, result) {
|
|
|
3830
3827
|
const cullingVolume = this.frustum.computeCullingVolume(
|
|
3831
3828
|
this.positionWC,
|
|
3832
3829
|
this.directionWC,
|
|
3833
|
-
this.upWC
|
|
3830
|
+
this.upWC,
|
|
3834
3831
|
);
|
|
3835
3832
|
const boundingSphere = new BoundingSphere(
|
|
3836
3833
|
Cartesian3.ZERO,
|
|
3837
|
-
ellipsoid.maximumRadius
|
|
3834
|
+
ellipsoid.maximumRadius,
|
|
3838
3835
|
);
|
|
3839
3836
|
const visibility = cullingVolume.computeVisibility(boundingSphere);
|
|
3840
3837
|
if (visibility === Intersect.OUTSIDE) {
|
|
@@ -3855,7 +3852,7 @@ Camera.prototype.computeViewRectangle = function (ellipsoid, result) {
|
|
|
3855
3852
|
0,
|
|
3856
3853
|
this,
|
|
3857
3854
|
ellipsoid,
|
|
3858
|
-
computedHorizonQuad
|
|
3855
|
+
computedHorizonQuad,
|
|
3859
3856
|
);
|
|
3860
3857
|
successfulPickCount += addToResult(
|
|
3861
3858
|
0,
|
|
@@ -3863,7 +3860,7 @@ Camera.prototype.computeViewRectangle = function (ellipsoid, result) {
|
|
|
3863
3860
|
1,
|
|
3864
3861
|
this,
|
|
3865
3862
|
ellipsoid,
|
|
3866
|
-
computedHorizonQuad
|
|
3863
|
+
computedHorizonQuad,
|
|
3867
3864
|
);
|
|
3868
3865
|
successfulPickCount += addToResult(
|
|
3869
3866
|
width,
|
|
@@ -3871,7 +3868,7 @@ Camera.prototype.computeViewRectangle = function (ellipsoid, result) {
|
|
|
3871
3868
|
2,
|
|
3872
3869
|
this,
|
|
3873
3870
|
ellipsoid,
|
|
3874
|
-
computedHorizonQuad
|
|
3871
|
+
computedHorizonQuad,
|
|
3875
3872
|
);
|
|
3876
3873
|
successfulPickCount += addToResult(
|
|
3877
3874
|
width,
|
|
@@ -3879,7 +3876,7 @@ Camera.prototype.computeViewRectangle = function (ellipsoid, result) {
|
|
|
3879
3876
|
3,
|
|
3880
3877
|
this,
|
|
3881
3878
|
ellipsoid,
|
|
3882
|
-
computedHorizonQuad
|
|
3879
|
+
computedHorizonQuad,
|
|
3883
3880
|
);
|
|
3884
3881
|
|
|
3885
3882
|
if (successfulPickCount < 2) {
|
|
@@ -3910,7 +3907,7 @@ Camera.prototype.computeViewRectangle = function (ellipsoid, result) {
|
|
|
3910
3907
|
CesiumMath.equalsEpsilon(
|
|
3911
3908
|
Math.abs(distance),
|
|
3912
3909
|
CesiumMath.TWO_PI,
|
|
3913
|
-
CesiumMath.EPSILON9
|
|
3910
|
+
CesiumMath.EPSILON9,
|
|
3914
3911
|
)
|
|
3915
3912
|
) {
|
|
3916
3913
|
result.west = -CesiumMath.PI;
|