5#include "Components/ActorComponent.h"
6#include "UObject/ObjectMacros.h"
7#include "CesiumSubLevelComponent.generated.h"
46UCLASS(ClassGroup = Cesium,
meta = (BlueprintSpawnableComponent))
59 UFUNCTION(BlueprintGetter, Category =
"Cesium")
70 UFUNCTION(BlueprintSetter, Category =
"Cesium")
78 UFUNCTION(BlueprintGetter, Category =
"Cesium")
86 UFUNCTION(BlueprintSetter, Category =
"Cesium")
94 UFUNCTION(BlueprintGetter, Category =
"Cesium")
102 UFUNCTION(BlueprintSetter, Category =
"Cesium")
111 UFUNCTION(BlueprintGetter, Category =
"Cesium")
120 UFUNCTION(BlueprintSetter, Category =
"Cesium")
127 UFUNCTION(BlueprintGetter, Category =
"Cesium")
134 UFUNCTION(BlueprintSetter, Category =
"Cesium")
146 UFUNCTION(BlueprintGetter, Category =
"Cesium")
158 UFUNCTION(BlueprintSetter, Category =
"Cesium")
166 UFUNCTION(BlueprintGetter, Category =
"Cesium")
176 UFUNCTION(BlueprintCallable, Category =
"Cesium")
186 UFUNCTION(BlueprintCallable, Category =
"Cesium")
205 UFUNCTION(CallInEditor, Category =
"Cesium")
206 void PlaceGeoreferenceOriginAtSubLevelOrigin();
229 UFUNCTION(CallInEditor, Category =
"Cesium")
230 void PlaceGeoreferenceOriginHere();
244 PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
override;
274 virtual bool CanEditChange(
const FProperty* InProperty)
const override;
292 meta = (AllowPrivateAccess =
true))
306 meta = (ClampMin = -90.0, ClampMax = 90.0, AllowPrivateAccess = true))
307 double OriginLatitude = 39.736401;
320 meta = (ClampMin = -180.0, ClampMax = 180.0, AllowPrivateAccess = true))
321 double OriginLongitude = -105.25737;
335 meta = (AllowPrivateAccess = true))
336 double OriginHeight = 2250.0;
348 meta = (ClampMin = 0.0, AllowPrivateAccess = true))
349 double LoadRadius = 1000.0;
366 Meta = (AllowPrivateAccess))
383 Meta = (AllowPrivateAccess))
398 ALevelInstance* _getLevelInstance() const noexcept;
405 void _invalidateResolvedGeoreference();
407 void PlaceOriginAtEcef(const FVector& NewOriginEcef);
Controls how global geospatial coordinates are mapped to coordinates in the Unreal Engine level.
A component intended to be attached to a Level Instance Actor that turns that Level Instance into a C...
double GetOriginLongitude() const
Gets the longitude of the georeference origin for this sub-level in degrees, in the range [-180,...
void SetEnabled(bool value)
Sets whether this sub-level is enabled.
void SetOriginHeight(double value)
Sets the height of the georeference origin for this sub-level in meters above the ellipsoid.
void SetOriginLongitudeLatitudeHeight(const FVector &longitudeLatitudeHeight)
Sets the longitude (X), latitude (Y), and height (Z) of this sub-level's georeference origin.
virtual void OnUnregister() override
Called when a component is unregistered.
ACesiumGeoreference * GetResolvedGeoreference() const
Gets the resolved georeference, just like calling the ResolveGeoreference property,...
void SetGeoreference(TSoftObjectPtr< ACesiumGeoreference > NewGeoreference)
Sets the designated georeference actor controlling how the actor's coordinate system relates to the c...
virtual void OnRegister() override
Called when a component is registered.
virtual void OnComponentCreated() override
virtual void BeginDestroy() override
double GetLoadRadius() const
Gets how close to the sub-level local origin, in meters, the camera needs to be to load the level.
virtual void BeginPlay() override
void UpdateGeoreferenceIfSubLevelIsActive()
If this sub-level is currently the active one, this method will copy its origin to the georeference's...
void SetOriginLatitude(double value)
Sets the latitude of the georeference origin for this sub-level in degrees, in the range [-90,...
void SetOriginLongitude(double value)
Sets the longitude of the georeference origin for this sub-level in degrees, in the range [-180,...
ACesiumGeoreference * ResolveGeoreference(bool bForceReresolve=false)
Resolves the Cesium Georeference to use with this components.
bool GetEnabled() const
Gets whether this sub-level is enabled.
double GetOriginHeight() const
Gets the height of the georeference origin for this sub-level in meters above the ellipsoid.
TSoftObjectPtr< ACesiumGeoreference > GetGeoreference() const
Gets the designated georeference actor controlling how the actor's coordinate system relates to the c...
double GetOriginLatitude() const
Gets the latitude of the georeference origin for this sub-level in degrees, in the range [-90,...
void SetLoadRadius(double value)
Sets how close to the sub-level local origin, in meters, the camera needs to be to load the level.
Manages the asynchronous switching between sub-levels, making sure that a previous sub-level is hidde...