@cesium/engine 11.0.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Build/Workers/{chunk-HFPMX5L2.js → chunk-2B5H7KIN.js} +1 -1
- package/Build/Workers/{chunk-KKAEXHDY.js → chunk-2RHMHHJH.js} +2 -2
- package/Build/Workers/{chunk-AI3O7UN2.js → chunk-3OHDXGFC.js} +6 -6
- package/Build/Workers/{chunk-TTI2SUWJ.js → chunk-3OM5QZSI.js} +2 -2
- package/Build/Workers/{chunk-2EDC3QGH.js → chunk-3UJV3W4Y.js} +1 -1
- package/Build/Workers/{chunk-N3BIL6WA.js → chunk-3X2LXRHU.js} +13 -13
- package/Build/Workers/{chunk-FJT3ERV7.js → chunk-4ESQ3DN2.js} +9 -9
- package/Build/Workers/{chunk-HO2NTC7I.js → chunk-4IQPX22D.js} +6 -6
- package/Build/Workers/{chunk-L6FARMF6.js → chunk-4XPGN5Y7.js} +11 -11
- package/Build/Workers/{chunk-4NBRIKB3.js → chunk-56LALJCU.js} +2 -2
- package/Build/Workers/{chunk-HC7RYWPZ.js → chunk-5FSKL7US.js} +12 -12
- package/Build/Workers/{chunk-54VC7SCM.js → chunk-5YKJKOFE.js} +7 -7
- package/Build/Workers/{chunk-6ZREIBKS.js → chunk-62YGXNGC.js} +7 -7
- package/Build/Workers/{chunk-BH5ZEN4I.js → chunk-6DYMJ57Z.js} +10 -10
- package/Build/Workers/{chunk-AS7P4BHI.js → chunk-7DSVCRFD.js} +6 -6
- package/Build/Workers/{chunk-6FFGOENI.js → chunk-7OISMGQF.js} +46 -23
- package/Build/Workers/{chunk-BJ3WF5RW.js → chunk-AL7BHP36.js} +6 -6
- package/Build/Workers/{chunk-WQRXRDCZ.js → chunk-AOCENJVH.js} +11 -11
- package/Build/Workers/{chunk-2MKRG7L7.js → chunk-ARTM66DL.js} +5 -5
- package/Build/Workers/{chunk-VSFFJGTA.js → chunk-B4AZL6Q4.js} +5 -5
- package/Build/Workers/{chunk-5IY5BXCT.js → chunk-BQNTN4CC.js} +83 -79
- package/Build/Workers/{chunk-AUM45VEG.js → chunk-C4IAULHW.js} +15 -15
- package/Build/Workers/{chunk-6PJIHPQB.js → chunk-ES6Q5HWK.js} +13 -13
- package/Build/Workers/{chunk-DVAIU7A4.js → chunk-GKBICLGC.js} +19 -23
- package/Build/Workers/{chunk-IBG5FVXC.js → chunk-GMGUR5GM.js} +4 -4
- package/Build/Workers/{chunk-OOA6GXKD.js → chunk-GUW6BS72.js} +7 -7
- package/Build/Workers/{chunk-KFW4UNQH.js → chunk-GYHHNFW5.js} +15 -25
- package/Build/Workers/{chunk-GOHDOWU5.js → chunk-GZG526CC.js} +14 -14
- package/Build/Workers/{chunk-BZXF3GNX.js → chunk-HILBDZUP.js} +2 -2
- package/Build/Workers/{chunk-BBO6BGLC.js → chunk-HYUTWUXN.js} +13 -13
- package/Build/Workers/{chunk-HA6TZ3XT.js → chunk-IL6SMMDD.js} +4 -4
- package/Build/Workers/{chunk-T4MB73MC.js → chunk-IT6AWHFV.js} +2 -2
- package/Build/Workers/{chunk-SRZJCF7G.js → chunk-J64XIF5C.js} +10 -36
- package/Build/Workers/{chunk-BUOFSNFW.js → chunk-JGGZ3H4W.js} +1 -1
- package/Build/Workers/{chunk-SIZXFNJY.js → chunk-JRULXFCC.js} +5 -5
- package/Build/Workers/{chunk-QGT2GMOK.js → chunk-MSY2AAW2.js} +4 -4
- package/Build/Workers/{chunk-XLCZE6DD.js → chunk-QXBRZZQS.js} +10 -10
- package/Build/Workers/{chunk-JYUCC5NV.js → chunk-SXJ37VUC.js} +7 -7
- package/Build/Workers/{chunk-OC4MYPVW.js → chunk-T6FZFMTF.js} +2 -2
- package/Build/Workers/{chunk-OSCHEWSG.js → chunk-TQK4D4AR.js} +7 -7
- package/Build/Workers/{chunk-2RZYNSMR.js → chunk-US3L7FXC.js} +7 -9
- package/Build/Workers/{chunk-RFQYEYAL.js → chunk-VGT4ONMC.js} +18 -20
- package/Build/Workers/{chunk-VHJ5ESXF.js → chunk-VJVTWBXB.js} +1 -1
- package/Build/Workers/{chunk-RJF5ZP76.js → chunk-VQZNBD3T.js} +4 -4
- package/Build/Workers/{chunk-WXDGOYTT.js → chunk-VUCVRDLD.js} +7 -7
- package/Build/Workers/{chunk-DJXXI7UF.js → chunk-W2Q2F7JS.js} +5 -5
- package/Build/Workers/{chunk-HZPMWR4H.js → chunk-WQCX7U65.js} +7 -7
- package/Build/Workers/{chunk-HFMJM3SX.js → chunk-WW5RTJ72.js} +1 -1
- package/Build/Workers/{chunk-IXLNNST6.js → chunk-X67KKHI7.js} +4 -4
- package/Build/Workers/{chunk-4TK5YR6Q.js → chunk-X7VRF25X.js} +5 -5
- package/Build/Workers/{chunk-O5SSW3B3.js → chunk-YANQEHO5.js} +6 -6
- package/Build/Workers/{chunk-HBZSCVZC.js → chunk-ZZNBFQL5.js} +11 -11
- package/Build/Workers/combineGeometry.js +23 -25
- package/Build/Workers/createBoxGeometry.js +16 -16
- package/Build/Workers/createBoxOutlineGeometry.js +14 -14
- package/Build/Workers/createCircleGeometry.js +24 -24
- package/Build/Workers/createCircleOutlineGeometry.js +17 -17
- package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
- package/Build/Workers/createCorridorGeometry.js +27 -27
- package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
- package/Build/Workers/createCylinderGeometry.js +18 -18
- package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
- package/Build/Workers/createEllipseGeometry.js +24 -24
- package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
- package/Build/Workers/createEllipsoidGeometry.js +17 -17
- package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
- package/Build/Workers/createFrustumGeometry.js +16 -16
- package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
- package/Build/Workers/createGeometry.js +25 -26
- package/Build/Workers/createGroundPolylineGeometry.js +20 -20
- package/Build/Workers/createPlaneGeometry.js +14 -14
- package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
- package/Build/Workers/createPolygonGeometry.js +36 -40
- package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
- package/Build/Workers/createPolylineGeometry.js +23 -23
- package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
- package/Build/Workers/createRectangleGeometry.js +28 -30
- package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
- package/Build/Workers/createSimplePolylineGeometry.js +21 -21
- package/Build/Workers/createSphereGeometry.js +17 -17
- package/Build/Workers/createSphereOutlineGeometry.js +16 -16
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
- package/Build/Workers/createVectorTileGeometries.js +22 -22
- package/Build/Workers/createVectorTilePoints.js +12 -12
- package/Build/Workers/createVectorTilePolygons.js +20 -20
- package/Build/Workers/createVectorTilePolylines.js +13 -13
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
- package/Build/Workers/createVerticesFromHeightmap.js +22 -26
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
- package/Build/Workers/createWallGeometry.js +22 -22
- package/Build/Workers/createWallOutlineGeometry.js +21 -21
- package/Build/Workers/decodeDraco.js +11 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -10
- package/Build/Workers/transcodeKTX2.js +7 -7
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
- package/Source/Core/ApproximateTerrainHeights.js +15 -15
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
- package/Source/Core/AttributeCompression.js +12 -12
- package/Source/Core/AxisAlignedBoundingBox.js +2 -2
- package/Source/Core/BingMapsGeocoderService.js +1 -1
- package/Source/Core/BoundingRectangle.js +3 -3
- package/Source/Core/BoundingSphere.js +45 -45
- package/Source/Core/BoxGeometry.js +6 -6
- package/Source/Core/BoxOutlineGeometry.js +3 -3
- package/Source/Core/Cartesian2.js +7 -7
- package/Source/Core/Cartesian3.js +20 -20
- package/Source/Core/Cartesian4.js +8 -8
- package/Source/Core/Cartographic.js +6 -6
- package/Source/Core/CatmullRomSpline.js +6 -6
- package/Source/Core/CesiumTerrainProvider.js +66 -68
- package/Source/Core/Check.d.ts +3 -3
- package/Source/Core/Check.js +11 -11
- package/Source/Core/CircleGeometry.js +6 -6
- package/Source/Core/CircleOutlineGeometry.js +4 -4
- package/Source/Core/Clock.js +4 -4
- package/Source/Core/Color.js +12 -9
- package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
- package/Source/Core/ComponentDatatype.js +4 -4
- package/Source/Core/CompressedTextureBuffer.js +2 -2
- package/Source/Core/ConstantSpline.js +1 -1
- package/Source/Core/CoplanarPolygonGeometry.js +44 -41
- package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
- package/Source/Core/CorridorGeometry.js +77 -77
- package/Source/Core/CorridorGeometryLibrary.js +48 -48
- package/Source/Core/CorridorOutlineGeometry.js +16 -16
- package/Source/Core/CullingVolume.js +4 -4
- package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
- package/Source/Core/CylinderGeometry.js +8 -8
- package/Source/Core/CylinderGeometryLibrary.js +1 -1
- package/Source/Core/CylinderOutlineGeometry.js +4 -4
- package/Source/Core/DeveloperError.js +1 -1
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
- package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
- package/Source/Core/EarthOrientationParameters.js +21 -25
- package/Source/Core/EarthOrientationParametersSample.js +1 -1
- package/Source/Core/EllipseGeometry.js +55 -56
- package/Source/Core/EllipseGeometryLibrary.js +12 -12
- package/Source/Core/EllipseOutlineGeometry.js +19 -19
- package/Source/Core/Ellipsoid.js +25 -33
- package/Source/Core/EllipsoidGeodesic.js +18 -17
- package/Source/Core/EllipsoidGeometry.js +9 -8
- package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
- package/Source/Core/EllipsoidRhumbLine.js +33 -32
- package/Source/Core/EllipsoidTangentPlane.js +16 -16
- package/Source/Core/EllipsoidTerrainProvider.js +11 -10
- package/Source/Core/EllipsoidalOccluder.js +110 -130
- package/Source/Core/FeatureDetection.js +4 -4
- package/Source/Core/FrustumGeometry.js +15 -15
- package/Source/Core/FrustumOutlineGeometry.js +4 -4
- package/Source/Core/GeographicTilingScheme.js +6 -6
- package/Source/Core/Geometry.js +15 -17
- package/Source/Core/GeometryAttribute.js +4 -9
- package/Source/Core/GeometryAttributes.js +6 -6
- package/Source/Core/GeometryInstance.js +3 -4
- package/Source/Core/GeometryInstanceAttribute.js +1 -6
- package/Source/Core/GeometryPipeline.js +133 -137
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
- package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
- package/Source/Core/GoogleMaps.js +1 -1
- package/Source/Core/GregorianDate.js +4 -4
- package/Source/Core/GroundPolylineGeometry.js +104 -104
- package/Source/Core/HeadingPitchRoll.js +7 -7
- package/Source/Core/HeightmapTerrainData.js +58 -54
- package/Source/Core/HeightmapTessellator.js +22 -23
- package/Source/Core/HermitePolynomialApproximation.js +8 -8
- package/Source/Core/HermiteSpline.js +11 -11
- package/Source/Core/HilbertOrder.js +1 -1
- package/Source/Core/Iau2006XysData.js +6 -6
- package/Source/Core/IauOrientationAxes.js +2 -2
- package/Source/Core/IauOrientationParameters.js +1 -1
- package/Source/Core/IndexDatatype.js +5 -5
- package/Source/Core/IntersectionTests.js +36 -78
- package/Source/Core/Intersections2D.js +3 -3
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +2 -2
- package/Source/Core/IonResource.js +5 -5
- package/Source/Core/Iso8601.js +3 -3
- package/Source/Core/JulianDate.js +23 -33
- package/Source/Core/KTX2Transcoder.js +2 -2
- package/Source/Core/LagrangePolynomialApproximation.js +1 -1
- package/Source/Core/LinearApproximation.js +4 -4
- package/Source/Core/LinearSpline.js +2 -2
- package/Source/Core/Math.js +6 -4
- package/Source/Core/Matrix2.js +3 -3
- package/Source/Core/Matrix3.js +16 -16
- package/Source/Core/Matrix4.js +31 -31
- package/Source/Core/MorphWeightSpline.js +2 -2
- package/Source/Core/NearFarScalar.js +1 -1
- package/Source/Core/Occluder.js +52 -56
- package/Source/Core/OpenCageGeocoderService.js +2 -2
- package/Source/Core/OrientedBoundingBox.js +52 -51
- package/Source/Core/OrthographicFrustum.js +11 -11
- package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
- package/Source/Core/PeliasGeocoderService.js +1 -1
- package/Source/Core/PerspectiveFrustum.js +61 -55
- package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
- package/Source/Core/PinBuilder.js +1 -1
- package/Source/Core/PixelFormat.js +6 -6
- package/Source/Core/Plane.js +9 -9
- package/Source/Core/PlaneGeometry.js +1 -1
- package/Source/Core/PolygonGeometry.js +95 -94
- package/Source/Core/PolygonGeometryLibrary.js +49 -51
- package/Source/Core/PolygonOutlineGeometry.js +49 -51
- package/Source/Core/PolygonPipeline.js +31 -31
- package/Source/Core/PolylineGeometry.js +10 -10
- package/Source/Core/PolylinePipeline.js +25 -25
- package/Source/Core/PolylineVolumeGeometry.js +9 -9
- package/Source/Core/PolylineVolumeGeometryLibrary.js +53 -53
- package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
- package/Source/Core/QuadraticRealPolynomial.js +1 -1
- package/Source/Core/QuantizedMeshTerrainData.js +28 -28
- package/Source/Core/QuarticRealPolynomial.js +1 -1
- package/Source/Core/Quaternion.js +19 -19
- package/Source/Core/QuaternionSpline.js +2 -2
- package/Source/Core/Rectangle.js +34 -13
- package/Source/Core/RectangleCollisionChecker.js +3 -3
- package/Source/Core/RectangleGeometry.js +55 -56
- package/Source/Core/RectangleGeometryLibrary.js +8 -8
- package/Source/Core/RectangleOutlineGeometry.js +20 -20
- package/Source/Core/RequestScheduler.js +6 -6
- package/Source/Core/Resource.js +24 -24
- package/Source/Core/S2Cell.js +16 -80
- package/Source/Core/ScreenSpaceEventHandler.js +54 -53
- package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
- package/Source/Core/SimplePolylineGeometry.js +7 -7
- package/Source/Core/SphereGeometry.js +2 -2
- package/Source/Core/SphereOutlineGeometry.js +3 -3
- package/Source/Core/Spline.js +1 -1
- package/Source/Core/SteppedSpline.js +1 -1
- package/Source/Core/Stereographic.js +9 -9
- package/Source/Core/TaskProcessor.js +13 -13
- package/Source/Core/TerrainEncoding.js +33 -38
- package/Source/Core/TerrainMesh.js +1 -1
- package/Source/Core/TerrainProvider.js +12 -12
- package/Source/Core/TileAvailability.js +28 -28
- package/Source/Core/TileProviderError.js +5 -5
- package/Source/Core/TilingScheme.js +1 -1
- package/Source/Core/TimeInterval.js +4 -4
- package/Source/Core/TimeIntervalCollection.js +16 -15
- package/Source/Core/Tipsify.js +2 -2
- package/Source/Core/Transforms.js +52 -54
- package/Source/Core/TranslationRotationScale.js +1 -1
- package/Source/Core/TridiagonalSystemSolver.js +4 -4
- package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
- package/Source/Core/VertexFormat.js +6 -6
- package/Source/Core/VerticalExaggeration.js +4 -4
- package/Source/Core/VideoSynchronizer.js +1 -1
- package/Source/Core/WallGeometry.js +18 -18
- package/Source/Core/WallGeometryLibrary.js +7 -7
- package/Source/Core/WallOutlineGeometry.js +8 -8
- package/Source/Core/WebMercatorProjection.js +5 -6
- package/Source/Core/WebMercatorTilingScheme.js +13 -13
- package/Source/Core/WireframeIndexGenerator.js +8 -8
- package/Source/Core/arrayRemoveDuplicates.js +1 -1
- package/Source/Core/buildModuleUrl.js +2 -2
- package/Source/Core/decodeGoogleEarthEnterpriseData.js +4 -4
- package/Source/Core/decodeVectorPolylinePositions.js +4 -4
- package/Source/Core/destroyObject.js +1 -1
- package/Source/Core/getJsonFromTypedArray.js +1 -1
- package/Source/Core/getMagic.js +1 -1
- package/Source/Core/loadImageFromTypedArray.js +2 -2
- package/Source/Core/loadKTX2.js +1 -1
- package/Source/Core/pointInsideTriangle.js +1 -1
- package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
- package/Source/Core/sampleTerrain.js +7 -7
- package/Source/Core/sampleTerrainMostDetailed.js +7 -7
- package/Source/Core/scaleToGeodeticSurface.js +3 -3
- package/Source/Core/srgbToLinear.js +1 -1
- package/Source/Core/writeTextToCanvas.js +1 -1
- package/Source/DataSources/BillboardGraphics.js +13 -13
- package/Source/DataSources/BillboardVisualizer.js +24 -24
- package/Source/DataSources/BoxGeometryUpdater.js +33 -32
- package/Source/DataSources/BoxGraphics.js +3 -3
- package/Source/DataSources/CallbackPositionProperty.js +173 -0
- package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
- package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
- package/Source/DataSources/ColorMaterialProperty.js +1 -1
- package/Source/DataSources/CompositeEntityCollection.js +14 -15
- package/Source/DataSources/CompositeMaterialProperty.js +5 -7
- package/Source/DataSources/CompositePositionProperty.js +4 -5
- package/Source/DataSources/CompositeProperty.js +2 -2
- package/Source/DataSources/ConstantPositionProperty.js +2 -2
- package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
- package/Source/DataSources/CorridorGraphics.js +6 -6
- package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
- package/Source/DataSources/CylinderGraphics.js +4 -4
- package/Source/DataSources/CzmlDataSource.js +365 -368
- package/Source/DataSources/DataSourceCollection.js +1 -1
- package/Source/DataSources/DataSourceDisplay.js +24 -24
- package/Source/DataSources/DynamicGeometryBatch.js +2 -2
- package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
- package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
- package/Source/DataSources/EllipseGraphics.js +7 -7
- package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
- package/Source/DataSources/EllipsoidGraphics.js +5 -5
- package/Source/DataSources/Entity.js +13 -13
- package/Source/DataSources/EntityCluster.js +29 -27
- package/Source/DataSources/EntityCollection.js +7 -7
- package/Source/DataSources/EntityView.js +23 -23
- package/Source/DataSources/GeoJsonDataSource.js +25 -25
- package/Source/DataSources/GeometryUpdater.js +9 -10
- package/Source/DataSources/GeometryUpdaterSet.js +3 -3
- package/Source/DataSources/GeometryVisualizer.js +65 -71
- package/Source/DataSources/GpxDataSource.js +10 -10
- package/Source/DataSources/GridMaterialProperty.js +5 -5
- package/Source/DataSources/GroundGeometryUpdater.js +6 -6
- package/Source/DataSources/ImageMaterialProperty.js +2 -2
- package/Source/DataSources/KmlDataSource.js +212 -212
- package/Source/DataSources/LabelGraphics.js +14 -14
- package/Source/DataSources/LabelVisualizer.js +24 -24
- package/Source/DataSources/ModelGraphics.js +38 -17
- package/Source/DataSources/ModelVisualizer.js +41 -32
- package/Source/DataSources/NodeTransformationProperty.js +3 -3
- package/Source/DataSources/PathGraphics.js +2 -2
- package/Source/DataSources/PathVisualizer.js +99 -35
- package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
- package/Source/DataSources/PlaneGraphics.js +2 -2
- package/Source/DataSources/PointGraphics.js +8 -8
- package/Source/DataSources/PointVisualizer.js +29 -29
- package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
- package/Source/DataSources/PolygonGraphics.js +9 -9
- package/Source/DataSources/PolylineArrowMaterialProperty.js +1 -1
- package/Source/DataSources/PolylineDashMaterialProperty.js +4 -4
- package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
- package/Source/DataSources/PolylineGlowMaterialProperty.js +3 -3
- package/Source/DataSources/PolylineGraphics.js +4 -4
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +3 -3
- package/Source/DataSources/PolylineVisualizer.js +39 -43
- package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
- package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
- package/Source/DataSources/PositionProperty.js +4 -3
- package/Source/DataSources/PositionPropertyArray.js +3 -3
- package/Source/DataSources/Property.js +1 -1
- package/Source/DataSources/PropertyArray.js +1 -1
- package/Source/DataSources/PropertyBag.js +5 -5
- package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
- package/Source/DataSources/RectangleGraphics.js +6 -6
- package/Source/DataSources/ReferenceProperty.js +6 -6
- package/Source/DataSources/Rotation.js +2 -2
- package/Source/DataSources/SampledPositionProperty.js +6 -6
- package/Source/DataSources/SampledProperty.js +16 -16
- package/Source/DataSources/ScaledPositionProperty.js +2 -2
- package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
- package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
- package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
- package/Source/DataSources/StripeMaterialProperty.js +2 -2
- package/Source/DataSources/TerrainOffsetProperty.js +11 -11
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +28 -30
- package/Source/DataSources/TimeIntervalCollectionProperty.js +1 -1
- package/Source/DataSources/VelocityOrientationProperty.js +3 -3
- package/Source/DataSources/VelocityVectorProperty.js +4 -4
- package/Source/DataSources/WallGeometryUpdater.js +25 -25
- package/Source/DataSources/WallGraphics.js +4 -4
- package/Source/DataSources/createPropertyDescriptor.js +3 -3
- package/Source/DataSources/exportKml.js +90 -86
- package/Source/DataSources/getElement.js +1 -1
- package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
- package/Source/Renderer/AutomaticUniforms.js +14 -1
- package/Source/Renderer/Buffer.js +18 -18
- package/Source/Renderer/ClearCommand.js +1 -1
- package/Source/Renderer/ComputeEngine.js +1 -1
- package/Source/Renderer/Context.js +40 -40
- package/Source/Renderer/CubeMap.js +109 -32
- package/Source/Renderer/CubeMapFace.js +109 -32
- package/Source/Renderer/DrawCommand.js +50 -5
- package/Source/Renderer/Framebuffer.js +48 -49
- package/Source/Renderer/FramebufferManager.js +40 -34
- package/Source/Renderer/MultisampleFramebuffer.js +35 -14
- package/Source/Renderer/RenderState.js +36 -36
- package/Source/Renderer/Renderbuffer.js +3 -3
- package/Source/Renderer/Sampler.js +2 -2
- package/Source/Renderer/ShaderBuilder.js +8 -8
- package/Source/Renderer/ShaderCache.js +11 -15
- package/Source/Renderer/ShaderFunction.js +1 -1
- package/Source/Renderer/ShaderProgram.js +15 -15
- package/Source/Renderer/ShaderSource.js +40 -40
- package/Source/Renderer/Texture.js +74 -63
- package/Source/Renderer/UniformState.js +78 -58
- package/Source/Renderer/VertexArray.js +20 -20
- package/Source/Renderer/VertexArrayFacade.js +15 -16
- package/Source/Renderer/createUniform.js +1 -1
- package/Source/Renderer/createUniformArray.js +4 -4
- package/Source/Renderer/demodernizeShader.js +5 -5
- package/Source/Renderer/loadCubeMap.js +1 -1
- package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
- package/Source/Scene/ArcGisMapService.js +4 -7
- package/Source/Scene/Atmosphere.js +22 -0
- package/Source/Scene/AutoExposure.js +4 -5
- package/Source/Scene/Axis.js +6 -6
- package/Source/Scene/B3dmParser.js +9 -9
- package/Source/Scene/BatchTable.js +7 -7
- package/Source/Scene/BatchTableHierarchy.js +62 -59
- package/Source/Scene/BatchTexture.js +2 -2
- package/Source/Scene/Billboard.js +45 -43
- package/Source/Scene/BillboardCollection.js +81 -83
- package/Source/Scene/BingMapsImageryProvider.js +13 -13
- package/Source/Scene/BoundingVolumeSemantics.js +10 -10
- package/Source/Scene/BoxEmitter.js +1 -1
- package/Source/Scene/BufferLoader.js +1 -1
- package/Source/Scene/Camera.js +161 -164
- package/Source/Scene/CameraEventAggregator.js +18 -18
- package/Source/Scene/CameraFlightPath.js +25 -25
- package/Source/Scene/Cesium3DTile.js +89 -95
- package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
- package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
- package/Source/Scene/Cesium3DTileFeature.js +1 -1
- package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
- package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
- package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
- package/Source/Scene/Cesium3DTileStyle.js +26 -24
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
- package/Source/Scene/Cesium3DTileset.js +120 -83
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
- package/Source/Scene/Cesium3DTilesetCache.js +2 -2
- package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
- package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
- package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
- package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
- package/Source/Scene/ClassificationPrimitive.js +70 -69
- package/Source/Scene/ClippingPlaneCollection.js +39 -41
- package/Source/Scene/ClippingPolygon.js +8 -8
- package/Source/Scene/ClippingPolygonCollection.js +62 -63
- package/Source/Scene/CloudCollection.js +3 -10
- package/Source/Scene/Composite3DTileContent.js +6 -6
- package/Source/Scene/ConditionsExpression.js +5 -5
- package/Source/Scene/ContentMetadata.js +4 -4
- package/Source/Scene/CreditDisplay.js +8 -8
- package/Source/Scene/CumulusCloud.js +4 -4
- package/Source/Scene/DebugAppearance.js +2 -2
- package/Source/Scene/DebugCameraPrimitive.js +2 -2
- package/Source/Scene/DebugInspector.js +3 -3
- package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
- package/Source/Scene/DepthPlane.js +7 -7
- package/Source/Scene/DerivedCommand.js +422 -238
- package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
- package/Source/Scene/DracoLoader.js +3 -3
- package/Source/Scene/DynamicEnvironmentMapManager.js +852 -0
- package/Source/Scene/EllipsoidPrimitive.js +7 -7
- package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
- package/Source/Scene/Empty3DTileContent.js +1 -1
- package/Source/Scene/Expression.js +91 -91
- package/Source/Scene/Fog.js +76 -116
- package/Source/Scene/FrameRateMonitor.js +22 -22
- package/Source/Scene/FrameState.js +36 -3
- package/Source/Scene/Geometry3DTileContent.js +20 -20
- package/Source/Scene/GetFeatureInfoFormat.js +15 -14
- package/Source/Scene/Globe.js +32 -27
- package/Source/Scene/GlobeDepth.js +95 -66
- package/Source/Scene/GlobeSurfaceShaderSet.js +12 -10
- package/Source/Scene/GlobeSurfaceTile.js +33 -33
- package/Source/Scene/GlobeSurfaceTileProvider.js +127 -124
- package/Source/Scene/GlobeTranslucency.js +4 -4
- package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
- package/Source/Scene/GlobeTranslucencyState.js +53 -55
- package/Source/Scene/GltfBufferViewLoader.js +2 -2
- package/Source/Scene/GltfIndexBufferLoader.js +5 -5
- package/Source/Scene/GltfJsonLoader.js +2 -2
- package/Source/Scene/GltfLoader.js +177 -100
- package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
- package/Source/Scene/GltfTextureLoader.js +5 -5
- package/Source/Scene/GltfVertexBufferLoader.js +12 -13
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
- package/Source/Scene/GridImageryProvider.js +2 -2
- package/Source/Scene/GroundPolylinePrimitive.js +38 -39
- package/Source/Scene/GroundPrimitive.js +47 -45
- package/Source/Scene/GroupMetadata.js +4 -4
- package/Source/Scene/I3SDataProvider.js +12 -12
- package/Source/Scene/I3SDecoder.js +7 -8
- package/Source/Scene/I3SField.js +8 -8
- package/Source/Scene/I3SGeometry.js +14 -14
- package/Source/Scene/I3SLayer.js +26 -20
- package/Source/Scene/I3SNode.js +17 -17
- package/Source/Scene/I3SSublayer.js +4 -4
- package/Source/Scene/I3SSymbology.js +8 -8
- package/Source/Scene/I3dmParser.js +9 -9
- package/Source/Scene/ImageBasedLighting.js +32 -87
- package/Source/Scene/Imagery.js +3 -3
- package/Source/Scene/ImageryLayer.js +64 -66
- package/Source/Scene/ImageryLayerCollection.js +13 -15
- package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
- package/Source/Scene/ImageryProvider.js +1 -1
- package/Source/Scene/Implicit3DTileContent.js +34 -37
- package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
- package/Source/Scene/ImplicitMetadataView.js +2 -2
- package/Source/Scene/ImplicitSubtree.js +29 -30
- package/Source/Scene/ImplicitSubtreeCache.js +1 -1
- package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
- package/Source/Scene/ImplicitTileCoordinates.js +11 -11
- package/Source/Scene/ImplicitTileset.js +2 -2
- package/Source/Scene/InvertClassification.js +7 -7
- package/Source/Scene/IonImageryProvider.js +6 -6
- package/Source/Scene/JobScheduler.js +4 -4
- package/Source/Scene/Label.js +29 -29
- package/Source/Scene/LabelCollection.js +17 -15
- package/Source/Scene/MapboxImageryProvider.js +3 -3
- package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
- package/Source/Scene/Material.js +26 -27
- package/Source/Scene/MaterialAppearance.js +4 -4
- package/Source/Scene/Megatexture.js +21 -24
- package/Source/Scene/MetadataClassProperty.js +11 -11
- package/Source/Scene/MetadataComponentType.js +1 -1
- package/Source/Scene/MetadataEntity.js +8 -8
- package/Source/Scene/MetadataEnum.js +1 -1
- package/Source/Scene/MetadataPicking.js +305 -0
- package/Source/Scene/MetadataSchemaLoader.js +1 -1
- package/Source/Scene/MetadataTable.js +2 -2
- package/Source/Scene/MetadataTableProperty.js +22 -22
- package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
- package/Source/Scene/Model/AtmospherePipelineStage.js +13 -8
- package/Source/Scene/Model/B3dmLoader.js +8 -8
- package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
- package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
- package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
- package/Source/Scene/Model/CustomShader.js +9 -9
- package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
- package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
- package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
- package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
- package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
- package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
- package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
- package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
- package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
- package/Source/Scene/Model/GeoJsonLoader.js +17 -17
- package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
- package/Source/Scene/Model/I3dmLoader.js +36 -36
- package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +56 -34
- package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
- package/Source/Scene/Model/LightingPipelineStage.js +4 -4
- package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
- package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
- package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
- package/Source/Scene/Model/Model.js +228 -75
- package/Source/Scene/Model/Model3DTileContent.js +37 -13
- package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
- package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
- package/Source/Scene/Model/ModelArticulation.js +2 -2
- package/Source/Scene/Model/ModelArticulationStage.js +4 -4
- package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
- package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
- package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
- package/Source/Scene/Model/ModelDrawCommand.js +5 -5
- package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
- package/Source/Scene/Model/ModelFeatureTable.js +5 -5
- package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
- package/Source/Scene/Model/ModelRenderResources.js +1 -1
- package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
- package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
- package/Source/Scene/Model/ModelSceneGraph.js +43 -43
- package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
- package/Source/Scene/Model/ModelSkin.js +4 -4
- package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
- package/Source/Scene/Model/ModelUtility.js +5 -5
- package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
- package/Source/Scene/Model/NodeRenderResources.js +1 -1
- package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
- package/Source/Scene/Model/PickingPipelineStage.js +5 -5
- package/Source/Scene/Model/PntsLoader.js +7 -7
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
- package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
- package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
- package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
- package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
- package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
- package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
- package/Source/Scene/Model/TextureManager.js +2 -2
- package/Source/Scene/Model/TextureUniform.js +3 -3
- package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
- package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
- package/Source/Scene/Model/WireframePipelineStage.js +7 -7
- package/Source/Scene/Model/pickModel.js +26 -26
- package/Source/Scene/ModelComponents.js +13 -4
- package/Source/Scene/Moon.js +6 -5
- package/Source/Scene/Multiple3DTileContent.js +15 -14
- package/Source/Scene/OIT.js +48 -97
- package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
- package/Source/Scene/Particle.js +3 -3
- package/Source/Scene/ParticleEmitter.js +1 -1
- package/Source/Scene/ParticleSystem.js +32 -32
- package/Source/Scene/PerInstanceColorAppearance.js +1 -1
- package/Source/Scene/PickDepth.js +16 -4
- package/Source/Scene/PickDepthFramebuffer.js +1 -1
- package/Source/Scene/PickFramebuffer.js +24 -12
- package/Source/Scene/PickedMetadataInfo.js +39 -0
- package/Source/Scene/Picking.js +270 -120
- package/Source/Scene/PntsParser.js +28 -28
- package/Source/Scene/PointCloud.js +39 -38
- package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
- package/Source/Scene/PointCloudShading.js +3 -3
- package/Source/Scene/PointPrimitive.js +31 -28
- package/Source/Scene/PointPrimitiveCollection.js +34 -33
- package/Source/Scene/Polyline.js +9 -9
- package/Source/Scene/PolylineCollection.js +55 -57
- package/Source/Scene/PolylineColorAppearance.js +3 -3
- package/Source/Scene/PolylineMaterialAppearance.js +3 -3
- package/Source/Scene/PostProcessStage.js +95 -115
- package/Source/Scene/PostProcessStageCollection.js +35 -41
- package/Source/Scene/PostProcessStageComposite.js +2 -2
- package/Source/Scene/PostProcessStageLibrary.js +5 -5
- package/Source/Scene/PostProcessStageTextureCache.js +10 -10
- package/Source/Scene/Primitive.js +93 -93
- package/Source/Scene/PrimitiveCollection.js +1 -1
- package/Source/Scene/PrimitiveLoadPlan.js +1 -1
- package/Source/Scene/PrimitivePipeline.js +30 -30
- package/Source/Scene/PropertyTable.js +5 -5
- package/Source/Scene/PropertyTextureProperty.js +36 -7
- package/Source/Scene/QuadtreePrimitive.js +56 -58
- package/Source/Scene/QuadtreeTile.js +4 -4
- package/Source/Scene/QuadtreeTileProvider.js +1 -1
- package/Source/Scene/ResourceCache.js +7 -7
- package/Source/Scene/ResourceCacheKey.js +15 -15
- package/Source/Scene/Scene.js +879 -657
- package/Source/Scene/SceneFramebuffer.js +2 -2
- package/Source/Scene/SceneTransforms.js +30 -30
- package/Source/Scene/SceneTransitioner.js +47 -47
- package/Source/Scene/ScreenSpaceCameraController.js +180 -154
- package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
- package/Source/Scene/ShadowMap.js +71 -72
- package/Source/Scene/ShadowMapShader.js +9 -9
- package/Source/Scene/ShadowVolumeAppearance.js +39 -39
- package/Source/Scene/SingleTileImageryProvider.js +3 -3
- package/Source/Scene/SkyAtmosphere.js +8 -8
- package/Source/Scene/SkyBox.js +7 -8
- package/Source/Scene/SpatialNode.js +13 -13
- package/Source/Scene/SphereEmitter.js +1 -1
- package/Source/Scene/StructuralMetadata.js +1 -1
- package/Source/Scene/StyleExpression.js +1 -1
- package/Source/Scene/Sun.js +11 -7
- package/Source/Scene/SunPostProcess.js +6 -6
- package/Source/Scene/TerrainFillMesh.js +157 -156
- package/Source/Scene/TextureAtlas.js +11 -11
- package/Source/Scene/TileBoundingRegion.js +31 -31
- package/Source/Scene/TileBoundingS2Cell.js +37 -40
- package/Source/Scene/TileBoundingSphere.js +2 -2
- package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
- package/Source/Scene/TileImagery.js +7 -11
- package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
- package/Source/Scene/TileMetadata.js +4 -4
- package/Source/Scene/TileOrientedBoundingBox.js +6 -6
- package/Source/Scene/Tileset3DTileContent.js +1 -1
- package/Source/Scene/TilesetMetadata.js +4 -4
- package/Source/Scene/TimeDynamicImagery.js +3 -3
- package/Source/Scene/TimeDynamicPointCloud.js +9 -9
- package/Source/Scene/TranslucentTileClassification.js +48 -58
- package/Source/Scene/TweenCollection.js +9 -9
- package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
- package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
- package/Source/Scene/Vector3DTileContent.js +38 -39
- package/Source/Scene/Vector3DTileGeometry.js +11 -8
- package/Source/Scene/Vector3DTilePoints.js +18 -22
- package/Source/Scene/Vector3DTilePolygons.js +6 -6
- package/Source/Scene/Vector3DTilePolylines.js +8 -8
- package/Source/Scene/Vector3DTilePrimitive.js +30 -31
- package/Source/Scene/View.js +111 -80
- package/Source/Scene/VoxelBoxShape.js +34 -34
- package/Source/Scene/VoxelCell.js +7 -7
- package/Source/Scene/VoxelContent.js +1 -1
- package/Source/Scene/VoxelCylinderShape.js +48 -48
- package/Source/Scene/VoxelEllipsoidShape.js +83 -97
- package/Source/Scene/VoxelPrimitive.js +80 -80
- package/Source/Scene/VoxelRenderResources.js +13 -13
- package/Source/Scene/VoxelTraversal.js +41 -41
- package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
- package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
- package/Source/Scene/buildVoxelDrawCommands.js +10 -14
- package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
- package/Source/Scene/createBillboardPointCallback.js +2 -2
- package/Source/Scene/createElevationBandMaterial.js +8 -8
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
- package/Source/Scene/createOsmBuildingsAsync.js +1 -1
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
- package/Source/Scene/findContentMetadata.js +2 -2
- package/Source/Scene/findTileMetadata.js +2 -2
- package/Source/Scene/getBinaryAccessor.js +1 -1
- package/Source/Scene/getClipAndStyleCode.js +1 -1
- package/Source/Scene/getClippingFunction.js +1 -1
- package/Source/Scene/getMetadataClassProperty.js +43 -0
- package/Source/Scene/parseBatchTable.js +21 -24
- package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
- package/Source/Scene/parseStructuralMetadata.js +3 -3
- package/Source/Scene/processVoxelProperties.js +28 -33
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +44 -0
- package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +44 -0
- package/Source/Shaders/Builtin/Functions/computeScattering.glsl +0 -1
- package/Source/Shaders/Builtin/Functions/computeScattering.js +0 -1
- package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +3 -1
- package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +3 -1
- package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
- package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
- package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
- package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
- package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
- package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
- package/Source/Shaders/ComputeIrradianceFS.js +105 -0
- package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
- package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
- package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
- package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
- package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
- package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
- package/Source/Shaders/DepthPlaneVS.glsl +1 -1
- package/Source/Shaders/DepthPlaneVS.js +1 -1
- package/Source/Shaders/GlobeFS.glsl +1 -2
- package/Source/Shaders/GlobeFS.js +1 -2
- package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -4
- package/Source/Shaders/Model/AtmosphereStageFS.js +1 -4
- package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +2 -155
- package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -156
- package/Source/Shaders/Model/LightingStageFS.glsl +3 -22
- package/Source/Shaders/Model/LightingStageFS.js +3 -22
- package/Source/Shaders/Model/ModelFS.glsl +26 -0
- package/Source/Shaders/Model/ModelFS.js +26 -0
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
- package/Source/Shaders/SkyBoxVS.glsl +0 -1
- package/Source/Shaders/SkyBoxVS.js +0 -1
- package/Source/Widget/CesiumWidget.js +785 -9
- package/Source/Workers/combineGeometry.js +3 -4
- package/Source/Workers/createCircleGeometry.js +2 -2
- package/Source/Workers/createCircleOutlineGeometry.js +2 -2
- package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
- package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Source/Workers/createGeometry.js +4 -5
- package/Source/Workers/createGroundPolylineGeometry.js +1 -1
- package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
- package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
- package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
- package/Source/Workers/createSimplePolylineGeometry.js +2 -2
- package/Source/Workers/createTaskProcessorWorker.js +1 -1
- package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
- package/Source/Workers/createVectorTileGeometries.js +18 -18
- package/Source/Workers/createVectorTilePoints.js +3 -3
- package/Source/Workers/createVectorTilePolygons.js +11 -11
- package/Source/Workers/createVectorTilePolylines.js +7 -7
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
- package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
- package/Source/Workers/decodeDraco.js +23 -23
- package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +4 -4
- package/Source/Workers/decodeI3S.js +53 -53
- package/Source/Workers/transcodeKTX2.js +9 -9
- package/Source/Workers/transferTypedArrayTest.js +1 -1
- package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
- package/index.d.ts +769 -47
- package/index.js +73 -51
- package/package.json +3 -3
|
@@ -242,7 +242,7 @@ function ScreenSpaceCameraController(scene) {
|
|
|
242
242
|
* @default 4000.0 or scene.ellipsoid.minimumRadius * 0.00063
|
|
243
243
|
*/
|
|
244
244
|
this.minimumPickingTerrainDistanceWithInertia = Ellipsoid.WGS84.equals(
|
|
245
|
-
ellipsoid
|
|
245
|
+
ellipsoid,
|
|
246
246
|
)
|
|
247
247
|
? 4000.0
|
|
248
248
|
: ellipsoid.minimumRadius * 0.00063;
|
|
@@ -271,6 +271,16 @@ function ScreenSpaceCameraController(scene) {
|
|
|
271
271
|
* @default true
|
|
272
272
|
*/
|
|
273
273
|
this.enableCollisionDetection = true;
|
|
274
|
+
/**
|
|
275
|
+
* The angle, relative to the ellipsoid normal, restricting the maximum amount that the user can tilt the camera. If <code>undefined</code>, the angle of the camera tilt is unrestricted.
|
|
276
|
+
* @type {number|undefined}
|
|
277
|
+
* @default undefined
|
|
278
|
+
*
|
|
279
|
+
* @example
|
|
280
|
+
* // Prevent the camera from tilting below the ellipsoid surface
|
|
281
|
+
* viewer.scene.screenSpaceCameraController.maximumTiltAngle = Math.PI / 2.0;
|
|
282
|
+
*/
|
|
283
|
+
this.maximumTiltAngle = undefined;
|
|
274
284
|
|
|
275
285
|
this._scene = scene;
|
|
276
286
|
this._globe = undefined;
|
|
@@ -328,7 +338,7 @@ function ScreenSpaceCameraController(scene) {
|
|
|
328
338
|
|
|
329
339
|
const projection = scene.mapProjection;
|
|
330
340
|
this._maxCoord = projection.project(
|
|
331
|
-
new Cartographic(Math.PI, CesiumMath.PI_OVER_TWO)
|
|
341
|
+
new Cartographic(Math.PI, CesiumMath.PI_OVER_TWO),
|
|
332
342
|
);
|
|
333
343
|
|
|
334
344
|
// Constants, Make any of these public?
|
|
@@ -355,7 +365,7 @@ function sameMousePosition(movement) {
|
|
|
355
365
|
return Cartesian2.equalsEpsilon(
|
|
356
366
|
movement.startPosition,
|
|
357
367
|
movement.endPosition,
|
|
358
|
-
CesiumMath.EPSILON14
|
|
368
|
+
CesiumMath.EPSILON14,
|
|
359
369
|
);
|
|
360
370
|
}
|
|
361
371
|
|
|
@@ -372,7 +382,7 @@ function maintainInertia(
|
|
|
372
382
|
decayCoef,
|
|
373
383
|
action,
|
|
374
384
|
object,
|
|
375
|
-
lastMovementName
|
|
385
|
+
lastMovementName,
|
|
376
386
|
) {
|
|
377
387
|
let movementState = object[lastMovementName];
|
|
378
388
|
if (!defined(movementState)) {
|
|
@@ -410,18 +420,18 @@ function maintainInertia(
|
|
|
410
420
|
|
|
411
421
|
movementState.startPosition = Cartesian2.clone(
|
|
412
422
|
lastMovement.startPosition,
|
|
413
|
-
movementState.startPosition
|
|
423
|
+
movementState.startPosition,
|
|
414
424
|
);
|
|
415
425
|
|
|
416
426
|
movementState.endPosition = Cartesian2.multiplyByScalar(
|
|
417
427
|
movementState.motion,
|
|
418
428
|
d,
|
|
419
|
-
movementState.endPosition
|
|
429
|
+
movementState.endPosition,
|
|
420
430
|
);
|
|
421
431
|
movementState.endPosition = Cartesian2.add(
|
|
422
432
|
movementState.startPosition,
|
|
423
433
|
movementState.endPosition,
|
|
424
|
-
movementState.endPosition
|
|
434
|
+
movementState.endPosition,
|
|
425
435
|
);
|
|
426
436
|
|
|
427
437
|
// If value from the decreasing exponential function is close to zero,
|
|
@@ -431,7 +441,7 @@ function maintainInertia(
|
|
|
431
441
|
isNaN(movementState.endPosition.y) ||
|
|
432
442
|
Cartesian2.distance(
|
|
433
443
|
movementState.startPosition,
|
|
434
|
-
movementState.endPosition
|
|
444
|
+
movementState.endPosition,
|
|
435
445
|
) < 0.5
|
|
436
446
|
) {
|
|
437
447
|
return;
|
|
@@ -473,7 +483,7 @@ function reactToInput(
|
|
|
473
483
|
eventTypes,
|
|
474
484
|
action,
|
|
475
485
|
inertiaConstant,
|
|
476
|
-
inertiaStateName
|
|
486
|
+
inertiaStateName,
|
|
477
487
|
) {
|
|
478
488
|
if (!defined(eventTypes)) {
|
|
479
489
|
return;
|
|
@@ -509,7 +519,7 @@ function reactToInput(
|
|
|
509
519
|
inertiaConstant,
|
|
510
520
|
action,
|
|
511
521
|
controller,
|
|
512
|
-
inertiaStateName
|
|
522
|
+
inertiaStateName,
|
|
513
523
|
);
|
|
514
524
|
}
|
|
515
525
|
}
|
|
@@ -551,14 +561,14 @@ function handleZoom(
|
|
|
551
561
|
movement,
|
|
552
562
|
zoomFactor,
|
|
553
563
|
distanceMeasure,
|
|
554
|
-
unitPositionDotDirection
|
|
564
|
+
unitPositionDotDirection,
|
|
555
565
|
) {
|
|
556
566
|
let percentage = 1.0;
|
|
557
567
|
if (defined(unitPositionDotDirection)) {
|
|
558
568
|
percentage = CesiumMath.clamp(
|
|
559
569
|
Math.abs(unitPositionDotDirection),
|
|
560
570
|
0.25,
|
|
561
|
-
1.0
|
|
571
|
+
1.0,
|
|
562
572
|
);
|
|
563
573
|
}
|
|
564
574
|
|
|
@@ -577,7 +587,7 @@ function handleZoom(
|
|
|
577
587
|
zoomRate = CesiumMath.clamp(
|
|
578
588
|
zoomRate,
|
|
579
589
|
object._minimumZoomRate,
|
|
580
|
-
object._maximumZoomRate
|
|
590
|
+
object._maximumZoomRate,
|
|
581
591
|
);
|
|
582
592
|
|
|
583
593
|
let rangeWindowRatio = diff / object._scene.canvas.clientHeight;
|
|
@@ -623,7 +633,7 @@ function handleZoom(
|
|
|
623
633
|
|
|
624
634
|
const sameStartPosition = defaultValue(
|
|
625
635
|
movement.inertiaEnabled,
|
|
626
|
-
Cartesian2.equals(startPosition, object._zoomMouseStart)
|
|
636
|
+
Cartesian2.equals(startPosition, object._zoomMouseStart),
|
|
627
637
|
);
|
|
628
638
|
let zoomingOnVector = object._zoomingOnVector;
|
|
629
639
|
let rotatingZoom = object._rotatingZoom;
|
|
@@ -632,23 +642,25 @@ function handleZoom(
|
|
|
632
642
|
if (!sameStartPosition) {
|
|
633
643
|
object._zoomMouseStart = Cartesian2.clone(
|
|
634
644
|
startPosition,
|
|
635
|
-
object._zoomMouseStart
|
|
645
|
+
object._zoomMouseStart,
|
|
636
646
|
);
|
|
637
647
|
|
|
638
648
|
// When camera transform is set, such as tracking an entity, object._globe will be undefined, and no position should be picked
|
|
639
649
|
if (defined(object._globe) && mode === SceneMode.SCENE2D) {
|
|
640
|
-
pickedPosition = camera.getPickRay(
|
|
641
|
-
|
|
650
|
+
pickedPosition = camera.getPickRay(
|
|
651
|
+
startPosition,
|
|
652
|
+
scratchZoomPickRay,
|
|
653
|
+
).origin;
|
|
642
654
|
pickedPosition = Cartesian3.fromElements(
|
|
643
655
|
pickedPosition.y,
|
|
644
656
|
pickedPosition.z,
|
|
645
|
-
pickedPosition.x
|
|
657
|
+
pickedPosition.x,
|
|
646
658
|
);
|
|
647
659
|
} else if (defined(object._globe)) {
|
|
648
660
|
pickedPosition = pickPosition(
|
|
649
661
|
object,
|
|
650
662
|
startPosition,
|
|
651
|
-
scratchPickCartesian
|
|
663
|
+
scratchPickCartesian,
|
|
652
664
|
);
|
|
653
665
|
}
|
|
654
666
|
|
|
@@ -656,7 +668,7 @@ function handleZoom(
|
|
|
656
668
|
object._useZoomWorldPosition = true;
|
|
657
669
|
object._zoomWorldPosition = Cartesian3.clone(
|
|
658
670
|
pickedPosition,
|
|
659
|
-
object._zoomWorldPosition
|
|
671
|
+
object._zoomWorldPosition,
|
|
660
672
|
);
|
|
661
673
|
} else {
|
|
662
674
|
object._useZoomWorldPosition = false;
|
|
@@ -692,7 +704,7 @@ function handleZoom(
|
|
|
692
704
|
const direction = Cartesian3.subtract(
|
|
693
705
|
worldPosition,
|
|
694
706
|
endPosition,
|
|
695
|
-
scratchZoomDirection
|
|
707
|
+
scratchZoomDirection,
|
|
696
708
|
);
|
|
697
709
|
Cartesian3.normalize(direction, direction);
|
|
698
710
|
|
|
@@ -705,23 +717,25 @@ function handleZoom(
|
|
|
705
717
|
(camera.position.x < 0.0 && savedX > 0.0) ||
|
|
706
718
|
(camera.position.x > 0.0 && savedX < 0.0)
|
|
707
719
|
) {
|
|
708
|
-
pickedPosition = camera.getPickRay(
|
|
709
|
-
|
|
720
|
+
pickedPosition = camera.getPickRay(
|
|
721
|
+
startPosition,
|
|
722
|
+
scratchZoomPickRay,
|
|
723
|
+
).origin;
|
|
710
724
|
pickedPosition = Cartesian3.fromElements(
|
|
711
725
|
pickedPosition.y,
|
|
712
726
|
pickedPosition.z,
|
|
713
|
-
pickedPosition.x
|
|
727
|
+
pickedPosition.x,
|
|
714
728
|
);
|
|
715
729
|
object._zoomWorldPosition = Cartesian3.clone(
|
|
716
730
|
pickedPosition,
|
|
717
|
-
object._zoomWorldPosition
|
|
731
|
+
object._zoomWorldPosition,
|
|
718
732
|
);
|
|
719
733
|
}
|
|
720
734
|
}
|
|
721
735
|
} else if (mode === SceneMode.SCENE3D) {
|
|
722
736
|
const cameraPositionNormal = Cartesian3.normalize(
|
|
723
737
|
camera.position,
|
|
724
|
-
scratchCameraPositionNormal
|
|
738
|
+
scratchCameraPositionNormal,
|
|
725
739
|
);
|
|
726
740
|
if (
|
|
727
741
|
object._cameraUnderground ||
|
|
@@ -740,7 +754,7 @@ function handleZoom(
|
|
|
740
754
|
const centerPosition = pickPosition(
|
|
741
755
|
object,
|
|
742
756
|
centerPixel,
|
|
743
|
-
scratchCenterPosition
|
|
757
|
+
scratchCenterPosition,
|
|
744
758
|
);
|
|
745
759
|
// If centerPosition is not defined, it means the globe does not cover the center position of screen
|
|
746
760
|
|
|
@@ -772,7 +786,7 @@ function handleZoom(
|
|
|
772
786
|
Cartesian3.add(
|
|
773
787
|
cameraPosition,
|
|
774
788
|
Cartesian3.multiplyByScalar(forward, 1000, scratchCartesian),
|
|
775
|
-
center
|
|
789
|
+
center,
|
|
776
790
|
);
|
|
777
791
|
|
|
778
792
|
const positionToTarget = scratchPositionToTarget;
|
|
@@ -783,7 +797,7 @@ function handleZoom(
|
|
|
783
797
|
|
|
784
798
|
const alphaDot = Cartesian3.dot(
|
|
785
799
|
cameraPositionNormal,
|
|
786
|
-
positionToTargetNormal
|
|
800
|
+
positionToTargetNormal,
|
|
787
801
|
);
|
|
788
802
|
if (alphaDot >= 0.0) {
|
|
789
803
|
// We zoomed past the target, and this zoom is not valid anymore.
|
|
@@ -795,23 +809,22 @@ function handleZoom(
|
|
|
795
809
|
const cameraDistance = Cartesian3.magnitude(cameraPosition);
|
|
796
810
|
const targetDistance = Cartesian3.magnitude(target);
|
|
797
811
|
const remainingDistance = cameraDistance - distance;
|
|
798
|
-
const positionToTargetDistance =
|
|
799
|
-
positionToTarget
|
|
800
|
-
);
|
|
812
|
+
const positionToTargetDistance =
|
|
813
|
+
Cartesian3.magnitude(positionToTarget);
|
|
801
814
|
|
|
802
815
|
const gamma = Math.asin(
|
|
803
816
|
CesiumMath.clamp(
|
|
804
817
|
(positionToTargetDistance / targetDistance) * Math.sin(alpha),
|
|
805
818
|
-1.0,
|
|
806
|
-
1.0
|
|
807
|
-
)
|
|
819
|
+
1.0,
|
|
820
|
+
),
|
|
808
821
|
);
|
|
809
822
|
const delta = Math.asin(
|
|
810
823
|
CesiumMath.clamp(
|
|
811
824
|
(remainingDistance / targetDistance) * Math.sin(alpha),
|
|
812
825
|
-1.0,
|
|
813
|
-
1.0
|
|
814
|
-
)
|
|
826
|
+
1.0,
|
|
827
|
+
),
|
|
815
828
|
);
|
|
816
829
|
const beta = gamma - delta + alpha;
|
|
817
830
|
|
|
@@ -823,20 +836,20 @@ function handleZoom(
|
|
|
823
836
|
|
|
824
837
|
Cartesian3.normalize(
|
|
825
838
|
Cartesian3.cross(up, right, scratchCartesian),
|
|
826
|
-
forward
|
|
839
|
+
forward,
|
|
827
840
|
);
|
|
828
841
|
|
|
829
842
|
// Calculate new position to move to
|
|
830
843
|
Cartesian3.multiplyByScalar(
|
|
831
844
|
Cartesian3.normalize(center, scratchCartesian),
|
|
832
845
|
Cartesian3.magnitude(center) - distance,
|
|
833
|
-
center
|
|
846
|
+
center,
|
|
834
847
|
);
|
|
835
848
|
Cartesian3.normalize(cameraPosition, cameraPosition);
|
|
836
849
|
Cartesian3.multiplyByScalar(
|
|
837
850
|
cameraPosition,
|
|
838
851
|
remainingDistance,
|
|
839
|
-
cameraPosition
|
|
852
|
+
cameraPosition,
|
|
840
853
|
);
|
|
841
854
|
|
|
842
855
|
// Pan
|
|
@@ -846,24 +859,24 @@ function handleZoom(
|
|
|
846
859
|
Cartesian3.multiplyByScalar(
|
|
847
860
|
up,
|
|
848
861
|
Math.cos(beta) - 1,
|
|
849
|
-
scratchCartesianTwo
|
|
862
|
+
scratchCartesianTwo,
|
|
850
863
|
),
|
|
851
864
|
Cartesian3.multiplyByScalar(
|
|
852
865
|
forward,
|
|
853
866
|
Math.sin(beta),
|
|
854
|
-
scratchCartesianThree
|
|
867
|
+
scratchCartesianThree,
|
|
855
868
|
),
|
|
856
|
-
scratchCartesian
|
|
869
|
+
scratchCartesian,
|
|
857
870
|
),
|
|
858
871
|
remainingDistance,
|
|
859
|
-
pMid
|
|
872
|
+
pMid,
|
|
860
873
|
);
|
|
861
874
|
Cartesian3.add(cameraPosition, pMid, cameraPosition);
|
|
862
875
|
|
|
863
876
|
Cartesian3.normalize(center, up);
|
|
864
877
|
Cartesian3.normalize(
|
|
865
878
|
Cartesian3.cross(up, right, scratchCartesian),
|
|
866
|
-
forward
|
|
879
|
+
forward,
|
|
867
880
|
);
|
|
868
881
|
|
|
869
882
|
const cMid = scratchCenterMovement;
|
|
@@ -872,17 +885,17 @@ function handleZoom(
|
|
|
872
885
|
Cartesian3.multiplyByScalar(
|
|
873
886
|
up,
|
|
874
887
|
Math.cos(beta) - 1,
|
|
875
|
-
scratchCartesianTwo
|
|
888
|
+
scratchCartesianTwo,
|
|
876
889
|
),
|
|
877
890
|
Cartesian3.multiplyByScalar(
|
|
878
891
|
forward,
|
|
879
892
|
Math.sin(beta),
|
|
880
|
-
scratchCartesianThree
|
|
893
|
+
scratchCartesianThree,
|
|
881
894
|
),
|
|
882
|
-
scratchCartesian
|
|
895
|
+
scratchCartesian,
|
|
883
896
|
),
|
|
884
897
|
Cartesian3.magnitude(center),
|
|
885
|
-
cMid
|
|
898
|
+
cMid,
|
|
886
899
|
);
|
|
887
900
|
Cartesian3.add(center, cMid, center);
|
|
888
901
|
|
|
@@ -894,7 +907,7 @@ function handleZoom(
|
|
|
894
907
|
// Set new direction
|
|
895
908
|
Cartesian3.normalize(
|
|
896
909
|
Cartesian3.subtract(center, cameraPosition, scratchCartesian),
|
|
897
|
-
camera.direction
|
|
910
|
+
camera.direction,
|
|
898
911
|
);
|
|
899
912
|
Cartesian3.clone(camera.direction, camera.direction);
|
|
900
913
|
|
|
@@ -908,11 +921,11 @@ function handleZoom(
|
|
|
908
921
|
} else {
|
|
909
922
|
const positionNormal = Cartesian3.normalize(
|
|
910
923
|
centerPosition,
|
|
911
|
-
scratchPositionNormal
|
|
924
|
+
scratchPositionNormal,
|
|
912
925
|
);
|
|
913
926
|
const pickedNormal = Cartesian3.normalize(
|
|
914
927
|
object._zoomWorldPosition,
|
|
915
|
-
scratchPickNormal
|
|
928
|
+
scratchPickNormal,
|
|
916
929
|
);
|
|
917
930
|
const dotProduct = Cartesian3.dot(pickedNormal, positionNormal);
|
|
918
931
|
|
|
@@ -921,7 +934,7 @@ function handleZoom(
|
|
|
921
934
|
const axis = Cartesian3.cross(
|
|
922
935
|
pickedNormal,
|
|
923
936
|
positionNormal,
|
|
924
|
-
scratchZoomAxis
|
|
937
|
+
scratchZoomAxis,
|
|
925
938
|
);
|
|
926
939
|
|
|
927
940
|
const denom =
|
|
@@ -943,7 +956,7 @@ function handleZoom(
|
|
|
943
956
|
const zoomMouseStart = SceneTransforms.worldToWindowCoordinates(
|
|
944
957
|
scene,
|
|
945
958
|
object._zoomWorldPosition,
|
|
946
|
-
scratchZoomOffset
|
|
959
|
+
scratchZoomOffset,
|
|
947
960
|
);
|
|
948
961
|
if (
|
|
949
962
|
mode !== SceneMode.COLUMBUS_VIEW &&
|
|
@@ -961,7 +974,7 @@ function handleZoom(
|
|
|
961
974
|
rayDirection.y,
|
|
962
975
|
rayDirection.z,
|
|
963
976
|
rayDirection.x,
|
|
964
|
-
rayDirection
|
|
977
|
+
rayDirection,
|
|
965
978
|
);
|
|
966
979
|
}
|
|
967
980
|
|
|
@@ -984,8 +997,10 @@ const scratchTranslateP0 = new Cartesian3();
|
|
|
984
997
|
function translate2D(controller, startPosition, movement) {
|
|
985
998
|
const scene = controller._scene;
|
|
986
999
|
const camera = scene.camera;
|
|
987
|
-
let start = camera.getPickRay(
|
|
988
|
-
.
|
|
1000
|
+
let start = camera.getPickRay(
|
|
1001
|
+
movement.startPosition,
|
|
1002
|
+
translate2DStart,
|
|
1003
|
+
).origin;
|
|
989
1004
|
let end = camera.getPickRay(movement.endPosition, translate2DEnd).origin;
|
|
990
1005
|
|
|
991
1006
|
start = Cartesian3.fromElements(start.y, start.z, start.x, start);
|
|
@@ -1013,7 +1028,7 @@ function zoom2D(controller, startPosition, movement) {
|
|
|
1013
1028
|
startPosition,
|
|
1014
1029
|
movement,
|
|
1015
1030
|
controller.zoomFactor,
|
|
1016
|
-
camera.getMagnitude()
|
|
1031
|
+
camera.getMagnitude(),
|
|
1017
1032
|
);
|
|
1018
1033
|
}
|
|
1019
1034
|
|
|
@@ -1089,7 +1104,7 @@ function update2D(controller) {
|
|
|
1089
1104
|
controller.zoomEventTypes,
|
|
1090
1105
|
zoom2D,
|
|
1091
1106
|
controller.inertiaZoom,
|
|
1092
|
-
"_lastInertiaZoomMovement"
|
|
1107
|
+
"_lastInertiaZoomMovement",
|
|
1093
1108
|
);
|
|
1094
1109
|
if (rotatable2D) {
|
|
1095
1110
|
reactToInput(
|
|
@@ -1098,7 +1113,7 @@ function update2D(controller) {
|
|
|
1098
1113
|
controller.translateEventTypes,
|
|
1099
1114
|
twist2D,
|
|
1100
1115
|
controller.inertiaSpin,
|
|
1101
|
-
"_lastInertiaSpinMovement"
|
|
1116
|
+
"_lastInertiaSpinMovement",
|
|
1102
1117
|
);
|
|
1103
1118
|
}
|
|
1104
1119
|
} else {
|
|
@@ -1108,7 +1123,7 @@ function update2D(controller) {
|
|
|
1108
1123
|
controller.translateEventTypes,
|
|
1109
1124
|
translate2D,
|
|
1110
1125
|
controller.inertiaTranslate,
|
|
1111
|
-
"_lastInertiaTranslateMovement"
|
|
1126
|
+
"_lastInertiaTranslateMovement",
|
|
1112
1127
|
);
|
|
1113
1128
|
reactToInput(
|
|
1114
1129
|
controller,
|
|
@@ -1116,7 +1131,7 @@ function update2D(controller) {
|
|
|
1116
1131
|
controller.zoomEventTypes,
|
|
1117
1132
|
zoom2D,
|
|
1118
1133
|
controller.inertiaZoom,
|
|
1119
|
-
"_lastInertiaZoomMovement"
|
|
1134
|
+
"_lastInertiaZoomMovement",
|
|
1120
1135
|
);
|
|
1121
1136
|
if (rotatable2D) {
|
|
1122
1137
|
reactToInput(
|
|
@@ -1125,7 +1140,7 @@ function update2D(controller) {
|
|
|
1125
1140
|
controller.tiltEventTypes,
|
|
1126
1141
|
twist2D,
|
|
1127
1142
|
controller.inertiaSpin,
|
|
1128
|
-
"_lastInertiaTiltMovement"
|
|
1143
|
+
"_lastInertiaTiltMovement",
|
|
1129
1144
|
);
|
|
1130
1145
|
}
|
|
1131
1146
|
}
|
|
@@ -1144,7 +1159,7 @@ function pickPosition(controller, mousePosition, result) {
|
|
|
1144
1159
|
if (scene.pickPositionSupported) {
|
|
1145
1160
|
depthIntersection = scene.pickPositionWorldCoordinates(
|
|
1146
1161
|
mousePosition,
|
|
1147
|
-
scratchDepthIntersection
|
|
1162
|
+
scratchDepthIntersection,
|
|
1148
1163
|
);
|
|
1149
1164
|
}
|
|
1150
1165
|
|
|
@@ -1158,7 +1173,7 @@ function pickPosition(controller, mousePosition, result) {
|
|
|
1158
1173
|
ray,
|
|
1159
1174
|
scene,
|
|
1160
1175
|
cullBackFaces,
|
|
1161
|
-
scratchRayIntersection
|
|
1176
|
+
scratchRayIntersection,
|
|
1162
1177
|
);
|
|
1163
1178
|
|
|
1164
1179
|
const pickDistance = defined(depthIntersection)
|
|
@@ -1187,7 +1202,7 @@ function getDistanceFromSurface(controller) {
|
|
|
1187
1202
|
if (mode === SceneMode.SCENE3D) {
|
|
1188
1203
|
const cartographic = ellipsoid.cartesianToCartographic(
|
|
1189
1204
|
camera.position,
|
|
1190
|
-
scratchDistanceCartographic
|
|
1205
|
+
scratchDistanceCartographic,
|
|
1191
1206
|
);
|
|
1192
1207
|
if (defined(cartographic)) {
|
|
1193
1208
|
height = cartographic.height;
|
|
@@ -1222,7 +1237,7 @@ function getTiltCenterUnderground(controller, ray, pickedPosition, result) {
|
|
|
1222
1237
|
const maximumDistance = CesiumMath.clamp(
|
|
1223
1238
|
distanceFromSurface * 5.0,
|
|
1224
1239
|
controller._minimumUndergroundPickDistance,
|
|
1225
|
-
controller._maximumUndergroundPickDistance
|
|
1240
|
+
controller._maximumUndergroundPickDistance,
|
|
1226
1241
|
);
|
|
1227
1242
|
|
|
1228
1243
|
if (distance > maximumDistance) {
|
|
@@ -1238,7 +1253,7 @@ function getStrafeStartPositionUnderground(
|
|
|
1238
1253
|
controller,
|
|
1239
1254
|
ray,
|
|
1240
1255
|
pickedPosition,
|
|
1241
|
-
result
|
|
1256
|
+
result,
|
|
1242
1257
|
) {
|
|
1243
1258
|
let distance;
|
|
1244
1259
|
if (!defined(pickedPosition)) {
|
|
@@ -1263,7 +1278,7 @@ function continueStrafing(controller, movement) {
|
|
|
1263
1278
|
const inertialDelta = Cartesian2.subtract(
|
|
1264
1279
|
movement.endPosition,
|
|
1265
1280
|
movement.startPosition,
|
|
1266
|
-
scratchInertialDelta
|
|
1281
|
+
scratchInertialDelta,
|
|
1267
1282
|
);
|
|
1268
1283
|
const endPosition = controller._strafeEndMousePosition;
|
|
1269
1284
|
Cartesian2.add(endPosition, inertialDelta, endPosition);
|
|
@@ -1306,7 +1321,7 @@ function translateCV(controller, startPosition, movement) {
|
|
|
1306
1321
|
const cameraUnderground = controller._cameraUnderground;
|
|
1307
1322
|
const startMouse = Cartesian2.clone(
|
|
1308
1323
|
movement.startPosition,
|
|
1309
|
-
translateCVStartMouse
|
|
1324
|
+
translateCVStartMouse,
|
|
1310
1325
|
);
|
|
1311
1326
|
const endMouse = Cartesian2.clone(movement.endPosition, translateCVEndMouse);
|
|
1312
1327
|
let startRay = camera.getPickRay(startMouse, translateCVStartRay);
|
|
@@ -1333,7 +1348,7 @@ function translateCV(controller, startPosition, movement) {
|
|
|
1333
1348
|
controller,
|
|
1334
1349
|
startRay,
|
|
1335
1350
|
globePos,
|
|
1336
|
-
translateCVStartPos
|
|
1351
|
+
translateCVStartPos,
|
|
1337
1352
|
);
|
|
1338
1353
|
}
|
|
1339
1354
|
Cartesian2.clone(startPosition, controller._strafeMousePosition);
|
|
@@ -1350,14 +1365,14 @@ function translateCV(controller, startPosition, movement) {
|
|
|
1350
1365
|
const startPlanePos = IntersectionTests.rayPlane(
|
|
1351
1366
|
startRay,
|
|
1352
1367
|
plane,
|
|
1353
|
-
translateCVStartPos
|
|
1368
|
+
translateCVStartPos,
|
|
1354
1369
|
);
|
|
1355
1370
|
|
|
1356
1371
|
const endRay = camera.getPickRay(endMouse, translateCVEndRay);
|
|
1357
1372
|
const endPlanePos = IntersectionTests.rayPlane(
|
|
1358
1373
|
endRay,
|
|
1359
1374
|
plane,
|
|
1360
|
-
translateCVEndPos
|
|
1375
|
+
translateCVEndPos,
|
|
1361
1376
|
);
|
|
1362
1377
|
|
|
1363
1378
|
if (!defined(startPlanePos) || !defined(endPlanePos)) {
|
|
@@ -1370,7 +1385,7 @@ function translateCV(controller, startPosition, movement) {
|
|
|
1370
1385
|
const diff = Cartesian3.subtract(
|
|
1371
1386
|
startPlanePos,
|
|
1372
1387
|
endPlanePos,
|
|
1373
|
-
translateCVDifference
|
|
1388
|
+
translateCVDifference,
|
|
1374
1389
|
);
|
|
1375
1390
|
const temp = diff.x;
|
|
1376
1391
|
diff.x = diff.y;
|
|
@@ -1467,7 +1482,7 @@ function rotateCVOnPlane(controller, startPosition, movement) {
|
|
|
1467
1482
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
1468
1483
|
center,
|
|
1469
1484
|
ellipsoid,
|
|
1470
|
-
rotateCVTransform
|
|
1485
|
+
rotateCVTransform,
|
|
1471
1486
|
);
|
|
1472
1487
|
|
|
1473
1488
|
const oldGlobe = controller._globe;
|
|
@@ -1554,7 +1569,7 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1554
1569
|
const verticalCenter = IntersectionTests.rayPlane(
|
|
1555
1570
|
ray,
|
|
1556
1571
|
plane,
|
|
1557
|
-
rotateCVVerticalCenter
|
|
1572
|
+
rotateCVVerticalCenter,
|
|
1558
1573
|
);
|
|
1559
1574
|
|
|
1560
1575
|
const projection = camera._projection;
|
|
@@ -1567,7 +1582,7 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1567
1582
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
1568
1583
|
center,
|
|
1569
1584
|
ellipsoid,
|
|
1570
|
-
rotateCVTransform
|
|
1585
|
+
rotateCVTransform,
|
|
1571
1586
|
);
|
|
1572
1587
|
|
|
1573
1588
|
let verticalTransform;
|
|
@@ -1576,7 +1591,7 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1576
1591
|
verticalCenter.y,
|
|
1577
1592
|
verticalCenter.z,
|
|
1578
1593
|
verticalCenter.x,
|
|
1579
|
-
verticalCenter
|
|
1594
|
+
verticalCenter,
|
|
1580
1595
|
);
|
|
1581
1596
|
cart = projection.unproject(verticalCenter, rotateCVCart);
|
|
1582
1597
|
ellipsoid.cartographicToCartesian(cart, verticalCenter);
|
|
@@ -1584,7 +1599,7 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1584
1599
|
verticalTransform = Transforms.eastNorthUpToFixedFrame(
|
|
1585
1600
|
verticalCenter,
|
|
1586
1601
|
ellipsoid,
|
|
1587
|
-
rotateCVVerticalTransform
|
|
1602
|
+
rotateCVVerticalTransform,
|
|
1588
1603
|
);
|
|
1589
1604
|
} else {
|
|
1590
1605
|
verticalTransform = transform;
|
|
@@ -1605,7 +1620,7 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1605
1620
|
const tangent = Cartesian3.cross(
|
|
1606
1621
|
Cartesian3.UNIT_Z,
|
|
1607
1622
|
Cartesian3.normalize(camera.position, rotateCVCartesian3),
|
|
1608
|
-
rotateCVCartesian3
|
|
1623
|
+
rotateCVCartesian3,
|
|
1609
1624
|
);
|
|
1610
1625
|
const dot = Cartesian3.dot(camera.right, tangent);
|
|
1611
1626
|
|
|
@@ -1636,7 +1651,7 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1636
1651
|
const right = Cartesian3.cross(
|
|
1637
1652
|
camera.direction,
|
|
1638
1653
|
camera.constrainedAxis,
|
|
1639
|
-
tilt3DCartesian3
|
|
1654
|
+
tilt3DCartesian3,
|
|
1640
1655
|
);
|
|
1641
1656
|
if (
|
|
1642
1657
|
!Cartesian3.equalsEpsilon(right, Cartesian3.ZERO, CesiumMath.EPSILON6)
|
|
@@ -1663,7 +1678,7 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1663
1678
|
|
|
1664
1679
|
const originalPosition = Cartesian3.clone(
|
|
1665
1680
|
camera.positionWC,
|
|
1666
|
-
rotateCVCartesian3
|
|
1681
|
+
rotateCVCartesian3,
|
|
1667
1682
|
);
|
|
1668
1683
|
|
|
1669
1684
|
if (controller.enableCollisionDetection) {
|
|
@@ -1680,7 +1695,7 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1680
1695
|
Cartesian3.multiplyByScalar(
|
|
1681
1696
|
camera.position,
|
|
1682
1697
|
Math.sqrt(magSqrd),
|
|
1683
|
-
camera.position
|
|
1698
|
+
camera.position,
|
|
1684
1699
|
);
|
|
1685
1700
|
}
|
|
1686
1701
|
|
|
@@ -1688,14 +1703,14 @@ function rotateCVOnTerrain(controller, startPosition, movement) {
|
|
|
1688
1703
|
const axis = Cartesian3.cross(
|
|
1689
1704
|
originalPosition,
|
|
1690
1705
|
camera.position,
|
|
1691
|
-
originalPosition
|
|
1706
|
+
originalPosition,
|
|
1692
1707
|
);
|
|
1693
1708
|
Cartesian3.normalize(axis, axis);
|
|
1694
1709
|
|
|
1695
1710
|
const quaternion = Quaternion.fromAxisAngle(
|
|
1696
1711
|
axis,
|
|
1697
1712
|
angle,
|
|
1698
|
-
rotateCVQuaternion
|
|
1713
|
+
rotateCVQuaternion,
|
|
1699
1714
|
);
|
|
1700
1715
|
const rotation = Matrix3.fromQuaternion(quaternion, rotateCVMatrix);
|
|
1701
1716
|
Matrix3.multiplyByVector(rotation, camera.direction, camera.direction);
|
|
@@ -1751,7 +1766,7 @@ function zoomCV(controller, startPosition, movement) {
|
|
|
1751
1766
|
const distanceUnderground = getZoomDistanceUnderground(
|
|
1752
1767
|
controller,
|
|
1753
1768
|
ray,
|
|
1754
|
-
height
|
|
1769
|
+
height,
|
|
1755
1770
|
);
|
|
1756
1771
|
if (defined(distance)) {
|
|
1757
1772
|
distance = Math.min(distance, distanceUnderground);
|
|
@@ -1771,7 +1786,7 @@ function zoomCV(controller, startPosition, movement) {
|
|
|
1771
1786
|
startPosition,
|
|
1772
1787
|
movement,
|
|
1773
1788
|
controller.zoomFactor,
|
|
1774
|
-
distance
|
|
1789
|
+
distance,
|
|
1775
1790
|
);
|
|
1776
1791
|
}
|
|
1777
1792
|
|
|
@@ -1786,7 +1801,7 @@ function updateCV(controller) {
|
|
|
1786
1801
|
controller.rotateEventTypes,
|
|
1787
1802
|
rotate3D,
|
|
1788
1803
|
controller.inertiaSpin,
|
|
1789
|
-
"_lastInertiaSpinMovement"
|
|
1804
|
+
"_lastInertiaSpinMovement",
|
|
1790
1805
|
);
|
|
1791
1806
|
reactToInput(
|
|
1792
1807
|
controller,
|
|
@@ -1794,7 +1809,7 @@ function updateCV(controller) {
|
|
|
1794
1809
|
controller.zoomEventTypes,
|
|
1795
1810
|
zoom3D,
|
|
1796
1811
|
controller.inertiaZoom,
|
|
1797
|
-
"_lastInertiaZoomMovement"
|
|
1812
|
+
"_lastInertiaZoomMovement",
|
|
1798
1813
|
);
|
|
1799
1814
|
} else {
|
|
1800
1815
|
const tweens = controller._tweens;
|
|
@@ -1809,7 +1824,7 @@ function updateCV(controller) {
|
|
|
1809
1824
|
controller.tiltEventTypes,
|
|
1810
1825
|
rotateCV,
|
|
1811
1826
|
controller.inertiaSpin,
|
|
1812
|
-
"_lastInertiaTiltMovement"
|
|
1827
|
+
"_lastInertiaTiltMovement",
|
|
1813
1828
|
);
|
|
1814
1829
|
reactToInput(
|
|
1815
1830
|
controller,
|
|
@@ -1817,7 +1832,7 @@ function updateCV(controller) {
|
|
|
1817
1832
|
controller.translateEventTypes,
|
|
1818
1833
|
translateCV,
|
|
1819
1834
|
controller.inertiaTranslate,
|
|
1820
|
-
"_lastInertiaTranslateMovement"
|
|
1835
|
+
"_lastInertiaTranslateMovement",
|
|
1821
1836
|
);
|
|
1822
1837
|
reactToInput(
|
|
1823
1838
|
controller,
|
|
@@ -1825,13 +1840,13 @@ function updateCV(controller) {
|
|
|
1825
1840
|
controller.zoomEventTypes,
|
|
1826
1841
|
zoomCV,
|
|
1827
1842
|
controller.inertiaZoom,
|
|
1828
|
-
"_lastInertiaZoomMovement"
|
|
1843
|
+
"_lastInertiaZoomMovement",
|
|
1829
1844
|
);
|
|
1830
1845
|
reactToInput(
|
|
1831
1846
|
controller,
|
|
1832
1847
|
controller.enableLook,
|
|
1833
1848
|
controller.lookEventTypes,
|
|
1834
|
-
look3D
|
|
1849
|
+
look3D,
|
|
1835
1850
|
);
|
|
1836
1851
|
|
|
1837
1852
|
if (
|
|
@@ -1839,7 +1854,7 @@ function updateCV(controller) {
|
|
|
1839
1854
|
!tweens.contains(controller._tween)
|
|
1840
1855
|
) {
|
|
1841
1856
|
const tween = camera.createCorrectPositionTween(
|
|
1842
|
-
controller.bounceAnimationTime
|
|
1857
|
+
controller.bounceAnimationTime,
|
|
1843
1858
|
);
|
|
1844
1859
|
if (defined(tween)) {
|
|
1845
1860
|
controller._tween = tweens.add(tween);
|
|
@@ -1869,12 +1884,12 @@ function strafe(controller, movement, strafeStartPosition) {
|
|
|
1869
1884
|
const plane = Plane.fromPointNormal(
|
|
1870
1885
|
strafeStartPosition,
|
|
1871
1886
|
direction,
|
|
1872
|
-
scratchStrafePlane
|
|
1887
|
+
scratchStrafePlane,
|
|
1873
1888
|
);
|
|
1874
1889
|
const intersection = IntersectionTests.rayPlane(
|
|
1875
1890
|
ray,
|
|
1876
1891
|
plane,
|
|
1877
|
-
scratchStrafeIntersection
|
|
1892
|
+
scratchStrafeIntersection,
|
|
1878
1893
|
);
|
|
1879
1894
|
if (!defined(intersection)) {
|
|
1880
1895
|
return;
|
|
@@ -1941,7 +1956,7 @@ function spin3D(controller, startPosition, movement) {
|
|
|
1941
1956
|
|
|
1942
1957
|
const height = ellipsoid.cartesianToCartographic(
|
|
1943
1958
|
camera.positionWC,
|
|
1944
|
-
scratchCartographic
|
|
1959
|
+
scratchCartographic,
|
|
1945
1960
|
).height;
|
|
1946
1961
|
const globe = controller._globe;
|
|
1947
1962
|
|
|
@@ -1949,13 +1964,13 @@ function spin3D(controller, startPosition, movement) {
|
|
|
1949
1964
|
const mousePos = pickPosition(
|
|
1950
1965
|
controller,
|
|
1951
1966
|
movement.startPosition,
|
|
1952
|
-
scratchMousePosition
|
|
1967
|
+
scratchMousePosition,
|
|
1953
1968
|
);
|
|
1954
1969
|
if (defined(mousePos)) {
|
|
1955
1970
|
let strafing = false;
|
|
1956
1971
|
const ray = camera.getPickRay(
|
|
1957
1972
|
movement.startPosition,
|
|
1958
|
-
pickGlobeScratchRay
|
|
1973
|
+
pickGlobeScratchRay,
|
|
1959
1974
|
);
|
|
1960
1975
|
|
|
1961
1976
|
if (cameraUnderground) {
|
|
@@ -1998,8 +2013,8 @@ function spin3D(controller, startPosition, movement) {
|
|
|
1998
2013
|
camera.pickEllipsoid(
|
|
1999
2014
|
movement.startPosition,
|
|
2000
2015
|
controller._ellipsoid,
|
|
2001
|
-
spin3DPick
|
|
2002
|
-
)
|
|
2016
|
+
spin3DPick,
|
|
2017
|
+
),
|
|
2003
2018
|
)
|
|
2004
2019
|
) {
|
|
2005
2020
|
pan3D(controller, startPosition, movement, controller._ellipsoid);
|
|
@@ -2021,7 +2036,7 @@ function rotate3D(
|
|
|
2021
2036
|
movement,
|
|
2022
2037
|
constrainedAxis,
|
|
2023
2038
|
rotateOnlyVertical,
|
|
2024
|
-
rotateOnlyHorizontal
|
|
2039
|
+
rotateOnlyHorizontal,
|
|
2025
2040
|
) {
|
|
2026
2041
|
rotateOnlyVertical = defaultValue(rotateOnlyVertical, false);
|
|
2027
2042
|
rotateOnlyHorizontal = defaultValue(rotateOnlyHorizontal, false);
|
|
@@ -2054,11 +2069,20 @@ function rotate3D(
|
|
|
2054
2069
|
phiWindowRatio = Math.min(phiWindowRatio, controller.maximumMovementRatio);
|
|
2055
2070
|
thetaWindowRatio = Math.min(
|
|
2056
2071
|
thetaWindowRatio,
|
|
2057
|
-
controller.maximumMovementRatio
|
|
2072
|
+
controller.maximumMovementRatio,
|
|
2058
2073
|
);
|
|
2059
2074
|
|
|
2060
2075
|
const deltaPhi = rotateRate * phiWindowRatio * Math.PI * 2.0;
|
|
2061
|
-
|
|
2076
|
+
let deltaTheta = rotateRate * thetaWindowRatio * Math.PI;
|
|
2077
|
+
|
|
2078
|
+
if (defined(constrainedAxis) && defined(controller.maximumTiltAngle)) {
|
|
2079
|
+
const maximumTiltAngle = controller.maximumTiltAngle;
|
|
2080
|
+
const dotProduct = Cartesian3.dot(camera.direction, constrainedAxis);
|
|
2081
|
+
const tilt = Math.PI - Math.acos(dotProduct) + deltaTheta;
|
|
2082
|
+
if (tilt > maximumTiltAngle) {
|
|
2083
|
+
deltaTheta -= tilt - maximumTiltAngle;
|
|
2084
|
+
}
|
|
2085
|
+
}
|
|
2062
2086
|
|
|
2063
2087
|
if (!rotateOnlyVertical) {
|
|
2064
2088
|
camera.rotateRight(deltaPhi);
|
|
@@ -2089,15 +2113,15 @@ function pan3D(controller, startPosition, movement, ellipsoid) {
|
|
|
2089
2113
|
|
|
2090
2114
|
const startMousePosition = Cartesian2.clone(
|
|
2091
2115
|
movement.startPosition,
|
|
2092
|
-
pan3DStartMousePosition
|
|
2116
|
+
pan3DStartMousePosition,
|
|
2093
2117
|
);
|
|
2094
2118
|
const endMousePosition = Cartesian2.clone(
|
|
2095
2119
|
movement.endPosition,
|
|
2096
|
-
pan3DEndMousePosition
|
|
2120
|
+
pan3DEndMousePosition,
|
|
2097
2121
|
);
|
|
2098
2122
|
const height = ellipsoid.cartesianToCartographic(
|
|
2099
2123
|
camera.positionWC,
|
|
2100
|
-
scratchCartographic
|
|
2124
|
+
scratchCartographic,
|
|
2101
2125
|
).height;
|
|
2102
2126
|
|
|
2103
2127
|
let p0, p1;
|
|
@@ -2113,7 +2137,7 @@ function pan3D(controller, startPosition, movement, ellipsoid) {
|
|
|
2113
2137
|
!defined(controller._globe) &&
|
|
2114
2138
|
!Cartesian2.equalsEpsilon(
|
|
2115
2139
|
startMousePosition,
|
|
2116
|
-
controller._panLastMousePosition
|
|
2140
|
+
controller._panLastMousePosition,
|
|
2117
2141
|
)
|
|
2118
2142
|
) {
|
|
2119
2143
|
p0 = pickPosition(controller, startMousePosition, pan3DP0);
|
|
@@ -2124,7 +2148,7 @@ function pan3D(controller, startPosition, movement, ellipsoid) {
|
|
|
2124
2148
|
const toCenterProj = Cartesian3.multiplyByScalar(
|
|
2125
2149
|
camera.directionWC,
|
|
2126
2150
|
Cartesian3.dot(camera.directionWC, toCenter),
|
|
2127
|
-
pan3DTemp1
|
|
2151
|
+
pan3DTemp1,
|
|
2128
2152
|
);
|
|
2129
2153
|
const distanceToNearPlane = Cartesian3.magnitude(toCenterProj);
|
|
2130
2154
|
const pixelDimensions = camera.frustum.getPixelDimensions(
|
|
@@ -2132,33 +2156,35 @@ function pan3D(controller, startPosition, movement, ellipsoid) {
|
|
|
2132
2156
|
scene.drawingBufferHeight,
|
|
2133
2157
|
distanceToNearPlane,
|
|
2134
2158
|
scene.pixelRatio,
|
|
2135
|
-
pan3DPixelDimensions
|
|
2159
|
+
pan3DPixelDimensions,
|
|
2136
2160
|
);
|
|
2137
2161
|
|
|
2138
2162
|
const dragDelta = Cartesian2.subtract(
|
|
2139
2163
|
endMousePosition,
|
|
2140
2164
|
startMousePosition,
|
|
2141
|
-
pan3DDiffMousePosition
|
|
2165
|
+
pan3DDiffMousePosition,
|
|
2142
2166
|
);
|
|
2143
2167
|
|
|
2144
2168
|
// Move the camera to the the distance the cursor moved in worldspace
|
|
2145
2169
|
const right = Cartesian3.multiplyByScalar(
|
|
2146
2170
|
camera.rightWC,
|
|
2147
2171
|
dragDelta.x * pixelDimensions.x,
|
|
2148
|
-
pan3DTemp1
|
|
2172
|
+
pan3DTemp1,
|
|
2149
2173
|
);
|
|
2150
2174
|
|
|
2151
2175
|
// Move the camera towards the picked position in worldspace as the camera is pointed towards a horizon view
|
|
2152
2176
|
const cameraPositionNormal = Cartesian3.normalize(
|
|
2153
2177
|
camera.positionWC,
|
|
2154
|
-
scratchCameraPositionNormal
|
|
2178
|
+
scratchCameraPositionNormal,
|
|
2155
2179
|
);
|
|
2156
|
-
const endPickDirection = camera.getPickRay(
|
|
2157
|
-
|
|
2180
|
+
const endPickDirection = camera.getPickRay(
|
|
2181
|
+
endMousePosition,
|
|
2182
|
+
panRay,
|
|
2183
|
+
).direction;
|
|
2158
2184
|
const endPickProj = Cartesian3.subtract(
|
|
2159
2185
|
endPickDirection,
|
|
2160
2186
|
Cartesian3.projectVector(endPickDirection, camera.rightWC, pan3DTemp2),
|
|
2161
|
-
pan3DTemp2
|
|
2187
|
+
pan3DTemp2,
|
|
2162
2188
|
);
|
|
2163
2189
|
const angle = Cartesian3.angleBetween(endPickProj, camera.directionWC);
|
|
2164
2190
|
let forward = 1.0;
|
|
@@ -2166,7 +2192,7 @@ function pan3D(controller, startPosition, movement, ellipsoid) {
|
|
|
2166
2192
|
forward = Math.max(Math.tan(angle), 0.1); // Clamp so we don't make the magnitude infinitely large when the angle is small
|
|
2167
2193
|
}
|
|
2168
2194
|
let dot = Math.abs(
|
|
2169
|
-
Cartesian3.dot(camera.directionWC, cameraPositionNormal)
|
|
2195
|
+
Cartesian3.dot(camera.directionWC, cameraPositionNormal),
|
|
2170
2196
|
);
|
|
2171
2197
|
const magnitude =
|
|
2172
2198
|
((-dragDelta.y * pixelDimensions.y * 2.0) / Math.sqrt(forward)) *
|
|
@@ -2174,7 +2200,7 @@ function pan3D(controller, startPosition, movement, ellipsoid) {
|
|
|
2174
2200
|
const direction = Cartesian3.multiplyByScalar(
|
|
2175
2201
|
endPickDirection,
|
|
2176
2202
|
magnitude,
|
|
2177
|
-
pan3DTemp2
|
|
2203
|
+
pan3DTemp2,
|
|
2178
2204
|
);
|
|
2179
2205
|
|
|
2180
2206
|
// Move the camera up the distance the cursor moved in worldspace as the camera is pointed towards the center
|
|
@@ -2182,7 +2208,7 @@ function pan3D(controller, startPosition, movement, ellipsoid) {
|
|
|
2182
2208
|
const up = Cartesian3.multiplyByScalar(
|
|
2183
2209
|
camera.upWC,
|
|
2184
2210
|
-dragDelta.y * (1.0 - dot) * pixelDimensions.y,
|
|
2185
|
-
pan3DTemp3
|
|
2211
|
+
pan3DTemp3,
|
|
2186
2212
|
);
|
|
2187
2213
|
|
|
2188
2214
|
p1 = Cartesian3.add(p0, right, pan3DP1);
|
|
@@ -2267,11 +2293,11 @@ function pan3D(controller, startPosition, movement, ellipsoid) {
|
|
|
2267
2293
|
const planeNormal = Cartesian3.cross(basis0, east, pan3DTemp0);
|
|
2268
2294
|
const side0 = Cartesian3.dot(
|
|
2269
2295
|
planeNormal,
|
|
2270
|
-
Cartesian3.subtract(p0, basis0, pan3DTemp1)
|
|
2296
|
+
Cartesian3.subtract(p0, basis0, pan3DTemp1),
|
|
2271
2297
|
);
|
|
2272
2298
|
const side1 = Cartesian3.dot(
|
|
2273
2299
|
planeNormal,
|
|
2274
|
-
Cartesian3.subtract(p1, basis0, pan3DTemp1)
|
|
2300
|
+
Cartesian3.subtract(p1, basis0, pan3DTemp1),
|
|
2275
2301
|
);
|
|
2276
2302
|
|
|
2277
2303
|
let deltaTheta;
|
|
@@ -2325,7 +2351,7 @@ function zoom3D(controller, startPosition, movement) {
|
|
|
2325
2351
|
let intersection;
|
|
2326
2352
|
const height = ellipsoid.cartesianToCartographic(
|
|
2327
2353
|
camera.position,
|
|
2328
|
-
zoom3DCartographic
|
|
2354
|
+
zoom3DCartographic,
|
|
2329
2355
|
).height;
|
|
2330
2356
|
|
|
2331
2357
|
const approachingCollision =
|
|
@@ -2349,7 +2375,7 @@ function zoom3D(controller, startPosition, movement) {
|
|
|
2349
2375
|
const distanceUnderground = getZoomDistanceUnderground(
|
|
2350
2376
|
controller,
|
|
2351
2377
|
ray,
|
|
2352
|
-
height
|
|
2378
|
+
height,
|
|
2353
2379
|
);
|
|
2354
2380
|
if (defined(distance)) {
|
|
2355
2381
|
distance = Math.min(distance, distanceUnderground);
|
|
@@ -2364,7 +2390,7 @@ function zoom3D(controller, startPosition, movement) {
|
|
|
2364
2390
|
|
|
2365
2391
|
const unitPosition = Cartesian3.normalize(
|
|
2366
2392
|
camera.position,
|
|
2367
|
-
zoom3DUnitPosition
|
|
2393
|
+
zoom3DUnitPosition,
|
|
2368
2394
|
);
|
|
2369
2395
|
handleZoom(
|
|
2370
2396
|
controller,
|
|
@@ -2372,7 +2398,7 @@ function zoom3D(controller, startPosition, movement) {
|
|
|
2372
2398
|
movement,
|
|
2373
2399
|
controller.zoomFactor,
|
|
2374
2400
|
distance,
|
|
2375
|
-
Cartesian3.dot(unitPosition, camera.direction)
|
|
2401
|
+
Cartesian3.dot(unitPosition, camera.direction),
|
|
2376
2402
|
);
|
|
2377
2403
|
}
|
|
2378
2404
|
|
|
@@ -2408,7 +2434,7 @@ function tilt3D(controller, startPosition, movement) {
|
|
|
2408
2434
|
if (controller._looking) {
|
|
2409
2435
|
const up = controller._ellipsoid.geodeticSurfaceNormal(
|
|
2410
2436
|
camera.position,
|
|
2411
|
-
tilt3DLookUp
|
|
2437
|
+
tilt3DLookUp,
|
|
2412
2438
|
);
|
|
2413
2439
|
look3D(controller, startPosition, movement, up);
|
|
2414
2440
|
return;
|
|
@@ -2417,7 +2443,7 @@ function tilt3D(controller, startPosition, movement) {
|
|
|
2417
2443
|
const ellipsoid = controller._ellipsoid;
|
|
2418
2444
|
const cartographic = ellipsoid.cartesianToCartographic(
|
|
2419
2445
|
camera.position,
|
|
2420
|
-
tilt3DCart
|
|
2446
|
+
tilt3DCart,
|
|
2421
2447
|
);
|
|
2422
2448
|
|
|
2423
2449
|
if (
|
|
@@ -2440,7 +2466,7 @@ function tilt3DOnEllipsoid(controller, startPosition, movement) {
|
|
|
2440
2466
|
const minHeight = controller.minimumZoomDistance * 0.25;
|
|
2441
2467
|
const height = ellipsoid.cartesianToCartographic(
|
|
2442
2468
|
camera.positionWC,
|
|
2443
|
-
tilt3DOnEllipsoidCartographic
|
|
2469
|
+
tilt3DOnEllipsoidCartographic,
|
|
2444
2470
|
).height;
|
|
2445
2471
|
if (
|
|
2446
2472
|
height - minHeight - 1.0 < CesiumMath.EPSILON3 &&
|
|
@@ -2463,25 +2489,25 @@ function tilt3DOnEllipsoid(controller, startPosition, movement) {
|
|
|
2463
2489
|
} else if (height > controller._minimumTrackBallHeight) {
|
|
2464
2490
|
const grazingAltitudeLocation = IntersectionTests.grazingAltitudeLocation(
|
|
2465
2491
|
ray,
|
|
2466
|
-
ellipsoid
|
|
2492
|
+
ellipsoid,
|
|
2467
2493
|
);
|
|
2468
2494
|
if (!defined(grazingAltitudeLocation)) {
|
|
2469
2495
|
return;
|
|
2470
2496
|
}
|
|
2471
2497
|
const grazingAltitudeCart = ellipsoid.cartesianToCartographic(
|
|
2472
2498
|
grazingAltitudeLocation,
|
|
2473
|
-
tilt3DCart
|
|
2499
|
+
tilt3DCart,
|
|
2474
2500
|
);
|
|
2475
2501
|
grazingAltitudeCart.height = 0.0;
|
|
2476
2502
|
center = ellipsoid.cartographicToCartesian(
|
|
2477
2503
|
grazingAltitudeCart,
|
|
2478
|
-
tilt3DCenter
|
|
2504
|
+
tilt3DCenter,
|
|
2479
2505
|
);
|
|
2480
2506
|
} else {
|
|
2481
2507
|
controller._looking = true;
|
|
2482
2508
|
const up = controller._ellipsoid.geodeticSurfaceNormal(
|
|
2483
2509
|
camera.position,
|
|
2484
|
-
tilt3DLookUp
|
|
2510
|
+
tilt3DLookUp,
|
|
2485
2511
|
);
|
|
2486
2512
|
look3D(controller, startPosition, movement, up);
|
|
2487
2513
|
Cartesian2.clone(startPosition, controller._tiltCenterMousePosition);
|
|
@@ -2491,7 +2517,7 @@ function tilt3DOnEllipsoid(controller, startPosition, movement) {
|
|
|
2491
2517
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
2492
2518
|
center,
|
|
2493
2519
|
ellipsoid,
|
|
2494
|
-
tilt3DTransform
|
|
2520
|
+
tilt3DTransform,
|
|
2495
2521
|
);
|
|
2496
2522
|
|
|
2497
2523
|
const oldGlobe = controller._globe;
|
|
@@ -2536,13 +2562,13 @@ function tilt3DOnTerrain(controller, startPosition, movement) {
|
|
|
2536
2562
|
if (!defined(intersection)) {
|
|
2537
2563
|
const cartographic = ellipsoid.cartesianToCartographic(
|
|
2538
2564
|
camera.position,
|
|
2539
|
-
tilt3DCart
|
|
2565
|
+
tilt3DCart,
|
|
2540
2566
|
);
|
|
2541
2567
|
if (cartographic.height <= controller._minimumTrackBallHeight) {
|
|
2542
2568
|
controller._looking = true;
|
|
2543
2569
|
const up = controller._ellipsoid.geodeticSurfaceNormal(
|
|
2544
2570
|
camera.position,
|
|
2545
|
-
tilt3DLookUp
|
|
2571
|
+
tilt3DLookUp,
|
|
2546
2572
|
);
|
|
2547
2573
|
look3D(controller, startPosition, movement, up);
|
|
2548
2574
|
Cartesian2.clone(startPosition, controller._tiltCenterMousePosition);
|
|
@@ -2588,12 +2614,12 @@ function tilt3DOnTerrain(controller, startPosition, movement) {
|
|
|
2588
2614
|
const transform = Transforms.eastNorthUpToFixedFrame(
|
|
2589
2615
|
center,
|
|
2590
2616
|
ellipsoid,
|
|
2591
|
-
tilt3DTransform
|
|
2617
|
+
tilt3DTransform,
|
|
2592
2618
|
);
|
|
2593
2619
|
const verticalTransform = Transforms.eastNorthUpToFixedFrame(
|
|
2594
2620
|
verticalCenter,
|
|
2595
2621
|
newEllipsoid,
|
|
2596
|
-
tilt3DVerticalTransform
|
|
2622
|
+
tilt3DVerticalTransform,
|
|
2597
2623
|
);
|
|
2598
2624
|
|
|
2599
2625
|
const oldGlobe = controller._globe;
|
|
@@ -2611,7 +2637,7 @@ function tilt3DOnTerrain(controller, startPosition, movement) {
|
|
|
2611
2637
|
const tangent = Cartesian3.cross(
|
|
2612
2638
|
verticalCenter,
|
|
2613
2639
|
camera.positionWC,
|
|
2614
|
-
tilt3DCartesian3
|
|
2640
|
+
tilt3DCartesian3,
|
|
2615
2641
|
);
|
|
2616
2642
|
const dot = Cartesian3.dot(camera.rightWC, tangent);
|
|
2617
2643
|
|
|
@@ -2642,7 +2668,7 @@ function tilt3DOnTerrain(controller, startPosition, movement) {
|
|
|
2642
2668
|
const right = Cartesian3.cross(
|
|
2643
2669
|
camera.direction,
|
|
2644
2670
|
camera.constrainedAxis,
|
|
2645
|
-
tilt3DCartesian3
|
|
2671
|
+
tilt3DCartesian3,
|
|
2646
2672
|
);
|
|
2647
2673
|
if (
|
|
2648
2674
|
!Cartesian3.equalsEpsilon(right, Cartesian3.ZERO, CesiumMath.EPSILON6)
|
|
@@ -2669,7 +2695,7 @@ function tilt3DOnTerrain(controller, startPosition, movement) {
|
|
|
2669
2695
|
|
|
2670
2696
|
const originalPosition = Cartesian3.clone(
|
|
2671
2697
|
camera.positionWC,
|
|
2672
|
-
tilt3DCartesian3
|
|
2698
|
+
tilt3DCartesian3,
|
|
2673
2699
|
);
|
|
2674
2700
|
|
|
2675
2701
|
if (controller.enableCollisionDetection) {
|
|
@@ -2686,7 +2712,7 @@ function tilt3DOnTerrain(controller, startPosition, movement) {
|
|
|
2686
2712
|
Cartesian3.multiplyByScalar(
|
|
2687
2713
|
camera.position,
|
|
2688
2714
|
Math.sqrt(magSqrd),
|
|
2689
|
-
camera.position
|
|
2715
|
+
camera.position,
|
|
2690
2716
|
);
|
|
2691
2717
|
}
|
|
2692
2718
|
|
|
@@ -2694,7 +2720,7 @@ function tilt3DOnTerrain(controller, startPosition, movement) {
|
|
|
2694
2720
|
const axis = Cartesian3.cross(
|
|
2695
2721
|
originalPosition,
|
|
2696
2722
|
camera.position,
|
|
2697
|
-
originalPosition
|
|
2723
|
+
originalPosition,
|
|
2698
2724
|
);
|
|
2699
2725
|
Cartesian3.normalize(axis, axis);
|
|
2700
2726
|
|
|
@@ -2805,17 +2831,17 @@ function look3D(controller, startPosition, movement, rotationAxis) {
|
|
|
2805
2831
|
const direction = camera.direction;
|
|
2806
2832
|
const negativeRotationAxis = Cartesian3.negate(
|
|
2807
2833
|
rotationAxis,
|
|
2808
|
-
look3DNegativeRot
|
|
2834
|
+
look3DNegativeRot,
|
|
2809
2835
|
);
|
|
2810
2836
|
const northParallel = Cartesian3.equalsEpsilon(
|
|
2811
2837
|
direction,
|
|
2812
2838
|
rotationAxis,
|
|
2813
|
-
CesiumMath.EPSILON2
|
|
2839
|
+
CesiumMath.EPSILON2,
|
|
2814
2840
|
);
|
|
2815
2841
|
const southParallel = Cartesian3.equalsEpsilon(
|
|
2816
2842
|
direction,
|
|
2817
2843
|
negativeRotationAxis,
|
|
2818
|
-
CesiumMath.EPSILON2
|
|
2844
|
+
CesiumMath.EPSILON2,
|
|
2819
2845
|
);
|
|
2820
2846
|
if (!northParallel && !southParallel) {
|
|
2821
2847
|
dot = Cartesian3.dot(direction, rotationAxis);
|
|
@@ -2847,7 +2873,7 @@ function update3D(controller) {
|
|
|
2847
2873
|
controller.rotateEventTypes,
|
|
2848
2874
|
spin3D,
|
|
2849
2875
|
controller.inertiaSpin,
|
|
2850
|
-
"_lastInertiaSpinMovement"
|
|
2876
|
+
"_lastInertiaSpinMovement",
|
|
2851
2877
|
);
|
|
2852
2878
|
reactToInput(
|
|
2853
2879
|
controller,
|
|
@@ -2855,7 +2881,7 @@ function update3D(controller) {
|
|
|
2855
2881
|
controller.zoomEventTypes,
|
|
2856
2882
|
zoom3D,
|
|
2857
2883
|
controller.inertiaZoom,
|
|
2858
|
-
"_lastInertiaZoomMovement"
|
|
2884
|
+
"_lastInertiaZoomMovement",
|
|
2859
2885
|
);
|
|
2860
2886
|
reactToInput(
|
|
2861
2887
|
controller,
|
|
@@ -2863,13 +2889,13 @@ function update3D(controller) {
|
|
|
2863
2889
|
controller.tiltEventTypes,
|
|
2864
2890
|
tilt3D,
|
|
2865
2891
|
controller.inertiaSpin,
|
|
2866
|
-
"_lastInertiaTiltMovement"
|
|
2892
|
+
"_lastInertiaTiltMovement",
|
|
2867
2893
|
);
|
|
2868
2894
|
reactToInput(
|
|
2869
2895
|
controller,
|
|
2870
2896
|
controller.enableLook,
|
|
2871
2897
|
controller.lookEventTypes,
|
|
2872
|
-
look3D
|
|
2898
|
+
look3D,
|
|
2873
2899
|
);
|
|
2874
2900
|
}
|
|
2875
2901
|
|
|
@@ -2944,7 +2970,7 @@ function adjustHeightForTerrain(controller, cameraChanged) {
|
|
|
2944
2970
|
Cartesian3.multiplyByScalar(
|
|
2945
2971
|
camera.position,
|
|
2946
2972
|
Math.max(mag, controller.minimumZoomDistance),
|
|
2947
|
-
camera.position
|
|
2973
|
+
camera.position,
|
|
2948
2974
|
);
|
|
2949
2975
|
Cartesian3.normalize(camera.direction, camera.direction);
|
|
2950
2976
|
Cartesian3.cross(camera.direction, camera.up, camera.right);
|
|
@@ -2993,17 +3019,17 @@ ScreenSpaceCameraController.prototype.update = function () {
|
|
|
2993
3019
|
this._minimumCollisionTerrainHeight = VerticalExaggeration.getHeight(
|
|
2994
3020
|
this.minimumCollisionTerrainHeight,
|
|
2995
3021
|
verticalExaggeration,
|
|
2996
|
-
verticalExaggerationRelativeHeight
|
|
3022
|
+
verticalExaggerationRelativeHeight,
|
|
2997
3023
|
);
|
|
2998
3024
|
this._minimumPickingTerrainHeight = VerticalExaggeration.getHeight(
|
|
2999
3025
|
this.minimumPickingTerrainHeight,
|
|
3000
3026
|
verticalExaggeration,
|
|
3001
|
-
verticalExaggerationRelativeHeight
|
|
3027
|
+
verticalExaggerationRelativeHeight,
|
|
3002
3028
|
);
|
|
3003
3029
|
this._minimumTrackBallHeight = VerticalExaggeration.getHeight(
|
|
3004
3030
|
this.minimumTrackBallHeight,
|
|
3005
3031
|
verticalExaggeration,
|
|
3006
|
-
verticalExaggerationRelativeHeight
|
|
3032
|
+
verticalExaggerationRelativeHeight,
|
|
3007
3033
|
);
|
|
3008
3034
|
|
|
3009
3035
|
this._cameraUnderground = scene.cameraUnderground && defined(this._globe);
|
|
@@ -3015,11 +3041,11 @@ ScreenSpaceCameraController.prototype.update = function () {
|
|
|
3015
3041
|
this._adjustedHeightForTerrain = false;
|
|
3016
3042
|
const previousPosition = Cartesian3.clone(
|
|
3017
3043
|
camera.positionWC,
|
|
3018
|
-
scratchPreviousPosition
|
|
3044
|
+
scratchPreviousPosition,
|
|
3019
3045
|
);
|
|
3020
3046
|
const previousDirection = Cartesian3.clone(
|
|
3021
3047
|
camera.directionWC,
|
|
3022
|
-
scratchPreviousDirection
|
|
3048
|
+
scratchPreviousDirection,
|
|
3023
3049
|
);
|
|
3024
3050
|
|
|
3025
3051
|
if (mode === SceneMode.SCENE2D) {
|