Skip to content

Class astrea::astro::Geodetic

ClassList > astrea > astro > Geodetic

Class representing a Geodetic state vector in astrodynamics.More...

  • #include <Geodetic.hpp>

Public Functions

Type Name
Geodetic (Unitless scale=0.0 *astrea::detail::unitless)
Default constructor for Geodetic .
Geodetic (const Angle & latitude, const Angle & longitude, const Distance & altitude)
Constructor for Geodetic with latitude, longitude, and altitude.
Geodetic (const RadiusVector< frames::earth::icrf > & r, const Date & date, const CelestialBody * parent)
Constructor for Geodetic with position and velocity vectors.
Geodetic (const RadiusVector< frames::earth::earth_fixed > & r, const CelestialBody * parent)
Constructor for Geodetic with position and velocity vectors.
Geodetic (const T & elements, const AstrodynamicsSystem & sys, const Date & date)
Constructor for Geodetic from orbital elements.
Geodetic (const Geodetic & other)
Copy constructor for Geodetic .
Geodetic (Geodetic && other) noexcept
Move constructor for Geodetic .
const Distance & get_altitude () const
Get the altitude of the Geodetic state vector.
const Angle & get_latitude () const
Get the latitude of the Geodetic state vector.
const Angle & get_longitude () const
Get the longitude of the Geodetic state vector.
RadiusVector< frames::earth::earth_fixed > get_position (const CelestialBody * parent) const
Converts the Geodetic state vector to a RadiusVector<frames::earth::earth_fixed>.
RadiusVector< frames::earth::icrf > get_position (const Date & date, const CelestialBody * parent) const
Converts the Geodetic state vector to a RadiusVector<frames::earth::icrf>.
Geodetic interpolate (const Time & thisTime, const Time & otherTime, const Geodetic & other, const Time & targetTime) const
Interpolates between two Geodetic states at a given time.
bool operator!= (const Geodetic & other) const
Compares two Geodetic objects for inequality.
Geodetic operator* (const Unitless & multiplier) const
Multiplies the Geodetic state vector by a scalar.
Geodetic & operator*= (const Unitless & multiplier)
Multiplies the Geodetic state vector by a scalar.
Geodetic operator+ (const Geodetic & other) const
Adds two Geodetic objects.
Geodetic & operator+= (const Geodetic & other)
Adds another Geodetic object to the current one.
Geodetic operator- (const Geodetic & other) const
Subtracts another Geodetic object from the current one.
Geodetic & operator-= (const Geodetic & other)
Subtracts another Geodetic object from the current one.
std::vector< Unitless > operator/ (const Geodetic & other) const
Divides the Geodetic state vector by anotherGeodetic object.
Geodetic operator/ (const Unitless & divisor) const
Divides the Geodetic state vector by a scalar.
Geodetic & operator/= (const Unitless & divisor)
Divides the Geodetic state vector by a scalar.
Geodetic & operator= (Geodetic && other) noexcept
Move assignment operator for Geodetic .
Geodetic & operator= (const Geodetic & other)
Copy assignment operator for Geodetic .
bool operator== (const Geodetic & other) const
Compares two Geodetic objects for equality.
~Geodetic () = default
Default destructor for Geodetic .

Detailed Description

This class encapsulates the position and velocity of a vehicle in Geodetic coordinates.

Public Functions Documentation

function Geodetic [1/7]

Default constructor for Geodetic .

inline astrea::astro::Geodetic::Geodetic (
    Unitless scale=0.0 *astrea::detail::unitless
) 

Initializes the Geodetic state vector with zero values.


function Geodetic [2/7]

Constructor for Geodetic with latitude, longitude, and altitude.

inline astrea::astro::Geodetic::Geodetic (
    const Angle & latitude,
    const Angle & longitude,
    const Distance & altitude
) 

Parameters:

  • latitude Geodetic latitude
  • longitude Longitude
  • altitude Altitude

function Geodetic [3/7]

Constructor for Geodetic with position and velocity vectors.

astrea::astro::Geodetic::Geodetic (
    const RadiusVector < frames::earth::icrf > & r,
    const Date & date,
    const CelestialBody * parent
) 

Parameters:

  • r Radius vector in ECI (position)

function Geodetic [4/7]

Constructor for Geodetic with position and velocity vectors.

astrea::astro::Geodetic::Geodetic (
    const RadiusVector < frames::earth::earth_fixed > & r,
    const CelestialBody * parent
) 

Parameters:

  • r Radius vector in ECEF (position)

function Geodetic [5/7]

Constructor for Geodetic from orbital elements.

template<IsOrbitalElements T>
inline astrea::astro::Geodetic::Geodetic (
    const T & elements,
    const AstrodynamicsSystem & sys,
    const Date & date
) 

Parameters:

  • elements Orbital elements
  • sys Astrodynamics system containing celestial body data

function Geodetic [6/7]

Copy constructor for Geodetic .

astrea::astro::Geodetic::Geodetic (
    const Geodetic & other
) 

Parameters:


function Geodetic [7/7]

Move constructor for Geodetic .

astrea::astro::Geodetic::Geodetic (
    Geodetic && other
) noexcept

Parameters:


function get_altitude

Get the altitude of the Geodetic state vector.

inline const Distance & astrea::astro::Geodetic::get_altitude () const

Returns:

const Distance& Reference to the altitude component of the Geodetic state vector.


function get_latitude

Get the latitude of the Geodetic state vector.

inline const Angle & astrea::astro::Geodetic::get_latitude () const

Returns:

const Angle& Reference to the latitude component of the Geodetic state vector.


function get_longitude

Get the longitude of the Geodetic state vector.

inline const Angle & astrea::astro::Geodetic::get_longitude () const

Returns:

const Angle& Reference to the longitude component of the Geodetic state vector.


function get_position [1/2]

Converts the Geodetic state vector to a RadiusVector<frames::earth::earth_fixed>.

RadiusVector < frames::earth::earth_fixed > astrea::astro::Geodetic::get_position (
    const CelestialBody * parent
) const

Returns:

RadiusVector<frames::earth::earth_fixed> The position vector in Geodetic coordinates.


function get_position [2/2]

Converts the Geodetic state vector to a RadiusVector<frames::earth::icrf>.

RadiusVector < frames::earth::icrf > astrea::astro::Geodetic::get_position (
    const Date & date,
    const CelestialBody * parent
) const

Returns:

RadiusVector<frames::earth::icrf> The position vector in Geodetic coordinates.


function interpolate

Interpolates between two Geodetic states at a given time.

Geodetic astrea::astro::Geodetic::interpolate (
    const Time & thisTime,
    const Time & otherTime,
    const Geodetic & other,
    const Time & targetTime
) const

Parameters:

  • thisTime Time of the current state
  • otherTime Time of the other state
  • other Other Geodetic state to interpolate with
  • sys Astrodynamics system containing celestial body data
  • targetTime Target time for interpolation

Returns:

Geodetic Interpolated Geodetic state at the target time.


function operator!=

Compares two Geodetic objects for inequality.

bool astrea::astro::Geodetic::operator!= (
    const Geodetic & other
) const

Parameters:

Returns:

true if the two Geodetic objects are not equal

Returns:

false if the two Geodetic objects are equal


function operator*

Multiplies the Geodetic state vector by a scalar.

Geodetic astrea::astro::Geodetic::operator* (
    const Unitless & multiplier
) const

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Resultant Geodetic after multiplication.


function operator*=

Multiplies the Geodetic state vector by a scalar.

Geodetic & astrea::astro::Geodetic::operator*= (
    const Unitless & multiplier
) 

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Reference to the current Geodetic object after multiplication.


function operator+

Adds two Geodetic objects.

Geodetic astrea::astro::Geodetic::operator+ (
    const Geodetic & other
) const

Parameters:

Returns:

Resultant Geodetic sum.


function operator+=

Adds another Geodetic object to the current one.

Geodetic & astrea::astro::Geodetic::operator+= (
    const Geodetic & other
) 

Parameters:

Returns:

Reference to the current Geodetic object after addition.


function operator-

Subtracts another Geodetic object from the current one.

Geodetic astrea::astro::Geodetic::operator- (
    const Geodetic & other
) const

Parameters:

Returns:

Resultant Geodetic difference.


function operator-=

Subtracts another Geodetic object from the current one.

Geodetic & astrea::astro::Geodetic::operator-= (
    const Geodetic & other
) 

Parameters:

Returns:

Reference to the current Geodetic object after subtraction.


function operator/

Divides the Geodetic state vector by anotherGeodetic object.

std::vector< Unitless > astrea::astro::Geodetic::operator/ (
    const Geodetic & other
) const

Parameters:

Returns:

Resultant vector of unitless values after division.


function operator/

Divides the Geodetic state vector by a scalar.

Geodetic astrea::astro::Geodetic::operator/ (
    const Unitless & divisor
) const

Parameters:

  • divisor Scalar value to divide with

Returns:

Resultant Geodetic after division.


function operator/=

Divides the Geodetic state vector by a scalar.

Geodetic & astrea::astro::Geodetic::operator/= (
    const Unitless & divisor
) 

Parameters:

  • divisor Scalar value to divide with

Returns:

Reference to the current Geodetic object after division.


function operator=

Move assignment operator for Geodetic .

Geodetic & astrea::astro::Geodetic::operator= (
    Geodetic && other
) noexcept

Parameters:

Returns:

Geodetic& Reference to the current object


function operator=

Copy assignment operator for Geodetic .

Geodetic & astrea::astro::Geodetic::operator= (
    const Geodetic & other
) 

Parameters:

Returns:

Geodetic& Reference to the current object


function operator==

Compares two Geodetic objects for equality.

bool astrea::astro::Geodetic::operator== (
    const Geodetic & other
) const

Parameters:

Returns:

true if the two Geodetic objects are equal

Returns:

false if the two Geodetic objects are not equal


function ~Geodetic

Default destructor for Geodetic .

astrea::astro::Geodetic::~Geodetic () = default



The documentation for this class was generated from the following file astrea/astro/astro/state/angular_elements/instances/Geodetic.hpp