// Copyright 2020-2024 CesiumGS, Inc. and Contributors #include "CesiumWgs84Ellipsoid.h" #include "CesiumEllipsoidFunctions.h" #include "VecMath.h" #include using namespace CesiumGeospatial; using namespace CesiumUtility; FVector UCesiumWgs84Ellipsoid::GetRadii() { const glm::dvec3& radii = Ellipsoid::WGS84.getRadii(); return VecMath::createVector(radii); } double UCesiumWgs84Ellipsoid::GetMaximumRadius() { return Ellipsoid::WGS84.getRadii().x; } double UCesiumWgs84Ellipsoid::GetMinimumRadius() { return Ellipsoid::WGS84.getRadii().z; } FVector UCesiumWgs84Ellipsoid::ScaleToGeodeticSurface( const FVector& EarthCenteredEarthFixedPosition) { return CesiumEllipsoidFunctions::ScaleToGeodeticSurface( Ellipsoid::WGS84, EarthCenteredEarthFixedPosition); } FVector UCesiumWgs84Ellipsoid::GeodeticSurfaceNormal( const FVector& EarthCenteredEarthFixedPosition) { return CesiumEllipsoidFunctions::GeodeticSurfaceNormal( Ellipsoid::WGS84, EarthCenteredEarthFixedPosition); } FVector UCesiumWgs84Ellipsoid::LongitudeLatitudeHeightToEarthCenteredEarthFixed( const FVector& LongitudeLatitudeHeight) { return CesiumEllipsoidFunctions:: LongitudeLatitudeHeightToEllipsoidCenteredEllipsoidFixed( Ellipsoid::WGS84, LongitudeLatitudeHeight); } FVector UCesiumWgs84Ellipsoid::EarthCenteredEarthFixedToLongitudeLatitudeHeight( const FVector& EarthCenteredEarthFixedPosition) { return CesiumEllipsoidFunctions:: EllipsoidCenteredEllipsoidFixedToLongitudeLatitudeHeight( Ellipsoid::WGS84, EarthCenteredEarthFixedPosition); } FMatrix UCesiumWgs84Ellipsoid::EastNorthUpToEarthCenteredEarthFixed( const FVector& EarthCenteredEarthFixedPosition) { return CesiumEllipsoidFunctions::EastNorthUpToEllipsoidCenteredEllipsoidFixed( Ellipsoid::WGS84, EarthCenteredEarthFixedPosition); }