Skip to content

Commit

Permalink
Merge pull request #1179 from CesiumGS/transform-api
Browse files Browse the repository at this point in the history
Clean up and reorganize ACesiumGeoreference, and improve its transformation API
  • Loading branch information
csciguy8 authored Sep 11, 2023
2 parents 391935a + adf0d15 commit 58d8461
Show file tree
Hide file tree
Showing 22 changed files with 4,191 additions and 940 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ ThirdParty/build
Source/ThirdParty
node_modules
extern/build-helper.sh
Documentation/Reference
3 changes: 3 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
- The old sub-level system, based on Unreal's old (and now deprecated) World Composition system, has been removed. Instead, create Level Instance Actors and attach the "Cesium Sub Level Component" to them to achieve similar functionality. Old levels will automatically be converted to the new system when they are loaded in the Editor.
- `CesiumSunSky` now uses a default `TransmittanceMinLightElevationAngle` value on its `SkyAtmosphere` component of 90.0 degrees instead of -90.0 degrees. This will generally improve lighting when far from the CesiumGeoreference origin, but it is a breaking change because it may change the lighting conditions in existing levels, particularly at sunrise and sunset.
- The `Mobility` property on `ACesium3DTileset` is now obsolete. Instead, use the normal mechanism of setting the root component's mobility.
- Removed many methods that from the C++ interface of `ACesiumGeoreference` that used `glm` vector types. Use the versions that work with Unreal types instead.
- The `ComputeEastSouthUpToUnreal` function on `ACesiumGeoreference` has been renamed to `ComputeEastSouthUpToUnrealTransformation` and now returns a matrix that includes the translation component of the transformation. Previously it only included the rotation component.

##### Additions :tada:

Expand All @@ -17,6 +19,7 @@
- Cesium objects in sub-levels can now explicitly reference `ACesiumGeoreference`, `ACesiumCreditSystem`, and `ACesiumCameraManager` instances in the Persistent Level.
- `ACesiumGeoreference` can now act as a parent Actor. By adjusting the georeference's transformation, the entire globe can be located, rotated, and scaled within the Unreal Engine world.
- Added `AtmosphereHeight`, `AerialPerspectiveViewDistanceScale`, `RayleighExponentialDistribution`, and `MieExponentialDistribution` properties to `ACesiumSunSky`. These have the same function as the properties of the same name on Unreal's built-in SkyAtmosphere component, except that they automatically respond to the scale of the globe.
- Added `UCesiumWgs84Ellipsoid` Blueprint function library class.

##### Fixes :wrench:

Expand Down
17 changes: 17 additions & 0 deletions Config/Engine.ini
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,20 @@
+FunctionRedirects=(OldName="GlobeAwareDefaultPawn.InaccurateFlyToLocationLongitudeLatitudeHeight",NewName="FlyToLocationLongitudeLatitudeHeight")

+PropertyRedirects=(OldName="CesiumPolygonRasterOverlay.ExcludeTilesInside",NewName="ExcludeSelectedTiles")

+FunctionRedirects=(OldName="CesiumGeoreference.TransformUnrealToLongitudeLatitudeHeight",NewName="TransformUnrealPositionToLongitudeLatitudeHeight")
+PropertyRedirects=(OldName="CesiumGeoreference.TransformUnrealPositionToLongitudeLatitudeHeight.Unreal", NewName="UnrealPosition")
+FunctionRedirects=(OldName="CesiumGeoreference.TransformEcefToUnreal",NewName="TransformEarthCenteredEarthFixedPositionToUnreal")
+PropertyRedirects=(OldName="CesiumGeoreference.TransformEarthCenteredEarthFixedPositionToUnreal.Ecef", NewName="EarthCenteredEarthFixedPosition")
+FunctionRedirects=(OldName="CesiumGeoreference.TransformUnrealToEcef",NewName="TransformUnrealPositionToEarthCenteredEarthFixed")
+PropertyRedirects=(OldName="CesiumGeoreference.TransformUnrealPositionToEarthCenteredEarthFixed.Unreal", NewName="UnrealPosition")
+FunctionRedirects=(OldName="CesiumGeoreference.TransformLongitudeLatitudeHeightToUnreal",NewName="TransformLongitudeLatitudeHeightPositionToUnreal")
+FunctionRedirects=(OldName="CesiumGeoreference.TransformRotatorUnrealToEastSouthUp",NewName="TransformUnrealRotatorToEastSouthUp")
+FunctionRedirects=(OldName="CesiumGeoreference.TransformRotatorEastSouthUpToUnreal",NewName="TransformEastSouthUpRotatorToUnreal")
+PropertyRedirects=(OldName="CesiumGeoreference.TransformEastSouthUpRotatorToUnreal.EsuRotator", NewName="EastSouthUpRotator")
+FunctionRedirects=(OldName="CesiumGeoreference.ComputeEastSouthUpToUnreal",NewName="ComputeEastSouthUpToUnrealTransformation")
+PropertyRedirects=(OldName="CesiumGeoreference.ComputeEastSouthUpToUnrealTransformation.Unreal", NewName="UnrealLocation")
+FunctionRedirects=(OldName="CesiumGeoreference.SetGeoreferenceOriginLongitudeLatitudeHeight",NewName="SetOriginLongitudeLatitudeHeight")
+FunctionRedirects=(OldName="CesiumGeoreference.GetGeoreferenceOriginLongitudeLatitudeHeight",NewName="GetOriginLongitudeLatitudeHeight")
+FunctionRedirects=(OldName="CesiumGeoreference.SetGeoreferenceOriginEcef",NewName="SetOriginEarthCenteredEarthFixed")
+PropertyRedirects=(OldName="CesiumGeoreference.SetOriginEarthCenteredEarthFixed.TargetEcef", NewName="TargetEarthCenteredEarthFixed")
Loading

0 comments on commit 58d8461

Please sign in to comment.