diff --git a/Config/Engine.ini b/Config/Engine.ini index e8da78000..f8044ff52 100644 --- a/Config/Engine.ini +++ b/Config/Engine.ini @@ -27,7 +27,7 @@ RunningThreadedRequestLimit=100 +PropertyRedirects=(OldName="CesiumGeoreference.InaccurateComputeEastNorthUpToUnreal.Ue", NewName="Unreal") -+FunctionRedirects=(OldName="CesiumGeoreference.InaccurateSetGeoreferenceOrigin",NewName="InaccurateSetGeoreferenceOriginLongitudeLatitudeHeight") ++FunctionRedirects=(OldName="CesiumGeoreference.InaccurateSetGeoreferenceOrigin",NewName="SetOriginLongitudeLatitudeHeight") +ClassRedirects=(OldName="CesiumGeoreferenceComponent", NewName="CesiumGlobeAnchorComponent") +ClassRedirects=(OldName="CesiumSunSky_C",NewName="/Script/CesiumRuntime.CesiumSunSky",OverrideClassName="/Script/CoreUObject.Class") @@ -39,21 +39,21 @@ RunningThreadedRequestLimit=100 +PropertyRedirects=(OldName="CesiumGeoreference.WorldOriginCamera",NewName="SubLevelCamera") # Remove "Inaccurate" from all the function names. -+FunctionRedirects=(OldName="CesiumGeoreference.InaccurateGetGeoreferenceOriginLongitudeLatitudeHeight",NewName="GetGeoreferenceOriginLongitudeLatitudeHeight") -+FunctionRedirects=(OldName="CesiumGeoreference.InaccurateSetGeoreferenceOriginLongitudeLatitudeHeight",NewName="SetGeoreferenceOriginLongitudeLatitudeHeight") -+FunctionRedirects=(OldName="CesiumGeoreference.InaccurateSetGeoreferenceOriginEcef",NewName="SetGeoreferenceOriginEcef") ++FunctionRedirects=(OldName="CesiumGeoreference.InaccurateGetGeoreferenceOriginLongitudeLatitudeHeight",NewName="GetOriginLongitudeLatitudeHeight") ++FunctionRedirects=(OldName="CesiumGeoreference.InaccurateSetGeoreferenceOriginLongitudeLatitudeHeight",NewName="SetOriginLongitudeLatitudeHeight") ++FunctionRedirects=(OldName="CesiumGeoreference.InaccurateSetGeoreferenceOriginEcef",NewName="SetOriginEarthCenteredEarthFixed") +FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformLongitudeLatitudeHeightToEcef",NewName="TransformLongitudeLatitudeHeightToEcef") +FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformEcefToLongitudeLatitudeHeight",NewName="TransformEcefToLongitudeLatitudeHeight") -+FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformLongitudeLatitudeHeightToUnreal",NewName="TransformLongitudeLatitudeHeightToUnreal") -+FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformUnrealToLongitudeLatitudeHeight",NewName="TransformUnrealToLongitudeLatitudeHeight") -+FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformEcefToUnreal",NewName="TransformEcefToUnreal") -+FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformUnrealToEcef",NewName="TransformUnrealToEcef") ++FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformLongitudeLatitudeHeightToUnreal",NewName="TransformLongitudeLatitudeHeightPositionToUnreal") ++FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformUnrealToLongitudeLatitudeHeight",NewName="TransformUnrealPositionToLongitudeLatitudeHeight") ++FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformEcefToUnreal",NewName="TransformEarthCenteredEarthFixedPositionToUnreal") ++FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformUnrealToEcef",NewName="TransformUnrealPositionToEarthCenteredEarthFixed") +FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformRotatorUnrealToEastNorthUp",NewName="TransformRotatorUnrealToEastNorthUp") +FunctionRedirects=(OldName="CesiumGeoreference.InaccurateTransformRotatorEastNorthUpToUnreal",NewName="TransformRotatorEastNorthUpToUnreal") +FunctionRedirects=(OldName="CesiumGeoreference.InaccurateComputeEastNorthUpToUnreal",NewName="ComputeEastNorthUpToUnreal") +FunctionRedirects=(OldName="CesiumGeoreference.InaccurateComputeEastNorthUpToEcef",NewName="ComputeEastNorthUpToEcef") -+FunctionRedirects=(OldName="CesiumGlobeAnchorComponent.InaccurateGetECEF",NewName="GetECEF") -+FunctionRedirects=(OldName="CesiumGlobeAnchorComponent.InaccurateMoveToECEF",NewName="MoveToECEF") ++FunctionRedirects=(OldName="CesiumGlobeAnchorComponent.InaccurateGetECEF",NewName="GetEarthCenteredEarthFixedPosition") ++FunctionRedirects=(OldName="CesiumGlobeAnchorComponent.InaccurateMoveToECEF",NewName="MoveToEarthCenteredEarthFixedPosition") +FunctionRedirects=(OldName="CesiumGlobeAnchorComponent.InaccurateGetLongitudeLatitudeHeight",NewName="GetLongitudeLatitudeHeight") +FunctionRedirects=(OldName="CesiumGlobeAnchorComponent.InaccurateMoveToLongitudeLatitudeHeight",NewName="MoveToLongitudeLatitudeHeight") +FunctionRedirects=(OldName="GlobeAwareDefaultPawn.InaccurateFlyToLocationECEF",NewName="FlyToLocationECEF") diff --git a/Content/CesiumGeoreferencingInterop.uasset b/Content/CesiumGeoreferencingInterop.uasset new file mode 100644 index 000000000..410a0dc3a Binary files /dev/null and b/Content/CesiumGeoreferencingInterop.uasset differ diff --git a/Source/CesiumRuntime/Private/CesiumGeoreference.cpp b/Source/CesiumRuntime/Private/CesiumGeoreference.cpp index c077699ce..d67ede572 100644 --- a/Source/CesiumRuntime/Private/CesiumGeoreference.cpp +++ b/Source/CesiumRuntime/Private/CesiumGeoreference.cpp @@ -743,6 +743,7 @@ void ACesiumGeoreference::UpdateGeoreference() { *this->GetFullName()); OnGeoreferenceUpdated.Broadcast(); + this->ReceiveGeoreferenceUpdated(); } GeoTransforms ACesiumGeoreference::GetGeoTransforms() const noexcept { diff --git a/Source/CesiumRuntime/Public/CesiumGeoreference.h b/Source/CesiumRuntime/Public/CesiumGeoreference.h index f941ab2cb..d70826284 100644 --- a/Source/CesiumRuntime/Public/CesiumGeoreference.h +++ b/Source/CesiumRuntime/Public/CesiumGeoreference.h @@ -60,6 +60,16 @@ class CESIUMRUNTIME_API ACesiumGeoreference : public AActor { UPROPERTY(BlueprintAssignable, Category = "Cesium") FGeoreferenceUpdated OnGeoreferenceUpdated; + /** + * Event called whenever the Georeference is modified in a way that affects + * its computations. + */ + UFUNCTION( + BlueprintImplementableEvent, + Category = "Cesium", + meta = (DisplayName = "GeoreferenceUpdated")) + void ReceiveGeoreferenceUpdated(); + #pragma region Properties private: