Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up and reorganize ACesiumGeoreference, and improve its transformation API #1179

Merged
merged 20 commits into from
Sep 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
52897b2
Lots of CesiumGeoreference cleanup.
kring Jul 20, 2023
15ca845
Doc and category tweaks.
kring Jul 20, 2023
98bc379
Georeference transform cleanup.
kring Jul 24, 2023
722c9e6
Clean rotator and matrix transformations.
kring Jul 25, 2023
7794b44
Georeference transform tests, more cleanup.
kring Jul 25, 2023
b8edabd
More efficient TransformEastSouthUpRotatorToUnreal.
kring Jul 27, 2023
bdf36af
Factor out rotator comparisons to a helper.
kring Jul 27, 2023
4a16c77
Add a test for opposite rotator transformation direction.
kring Jul 27, 2023
95b0c30
Merge remote-tracking branch 'origin/ue5-main' into transform-api
kring Jul 28, 2023
92f6145
Merge remote-tracking branch 'origin/ue5-main' into transform-api
kring Jul 28, 2023
696953a
Merge remote-tracking branch 'origin/transformable-georeference' into…
kring Jul 28, 2023
5d7e036
Make CesiumGeoreference cpp order order match header order.
kring Jul 28, 2023
7d05b44
Add basic reference doc generation with Doxygen.
kring Jul 28, 2023
735f0a1
Add instructions for generated reference docs.
kring Jul 28, 2023
982a103
Fix non-Editor builds, hopefully.
kring Jul 28, 2023
de6423d
Merge remote-tracking branch 'origin/transformable-georeference' into…
kring Aug 2, 2023
0b000da
Merge remote-tracking branch 'origin/transformable-georeference' into…
kring Sep 4, 2023
f235fbd
Merge remote-tracking branch 'origin/transformable-georeference' into…
kring Sep 11, 2023
b4ce9f4
Merge remote-tracking branch 'origin/transformable-georeference' into…
kring Sep 11, 2023
adf0d15
Improvements from review.
kring Sep 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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