Skip to content

Class astrea::astro::Geocentric

ClassList > astrea > astro > Geocentric

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

  • #include <Geocentric.hpp>

Public Functions

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

Detailed Description

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

Public Functions Documentation

function Geocentric [1/7]

Default constructor for Geocentric .

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

Initializes the Geocentric state vector with zero values.


function Geocentric [2/7]

Constructor for Geocentric with latitude, longitude, and altitude.

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

Parameters:

  • latitude Geocentric latitude
  • longitude Longitude
  • altitude Altitude

function Geocentric [3/7]

Constructor for Geocentric with position and velocity vectors.

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

Parameters:

  • r Radius vector in ECI (position)

function Geocentric [4/7]

Constructor for Geocentric with position and velocity vectors.

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

Parameters:

  • r Radius vector in ECEF (position)

function Geocentric [5/7]

Constructor for Geocentric from orbital elements.

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

Parameters:

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

function Geocentric [6/7]

Copy constructor for Geocentric .

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

Parameters:


function Geocentric [7/7]

Move constructor for Geocentric .

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

Parameters:


function get_altitude

Get the altitude of the Geocentric state vector.

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

Returns:

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


function get_latitude

Get the latitude of the Geocentric state vector.

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

Returns:

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


function get_longitude

Get the longitude of the Geocentric state vector.

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

Returns:

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


function get_position [1/2]

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

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

Returns:

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


function get_position [2/2]

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

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

Returns:

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


function interpolate

Interpolates between two Geocentric states at a given time.

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

Parameters:

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

Returns:

Geocentric Interpolated Geocentric state at the target time.


function operator!=

Compares two Geocentric objects for inequality.

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

Parameters:

Returns:

true if the two Geocentric objects are not equal

Returns:

false if the two Geocentric objects are equal


function operator*

Multiplies the Geocentric state vector by a scalar.

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

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Resultant Geocentric after multiplication.


function operator*=

Multiplies the Geocentric state vector by a scalar.

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

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Reference to the current Geocentric object after multiplication.


function operator+

Adds two Geocentric objects.

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

Parameters:

Returns:

Resultant Geocentric sum.


function operator+=

Adds another Geocentric object to the current one.

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

Parameters:

Returns:

Reference to the current Geocentric object after addition.


function operator-

Subtracts another Geocentric object from the current one.

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

Parameters:

Returns:

Resultant Geocentric difference.


function operator-=

Subtracts another Geocentric object from the current one.

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

Parameters:

Returns:

Reference to the current Geocentric object after subtraction.


function operator/

Divides the Geocentric state vector by anotherGeocentric object.

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

Parameters:

Returns:

Resultant vector of unitless values after division.


function operator/

Divides the Geocentric state vector by a scalar.

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

Parameters:

  • divisor Scalar value to divide with

Returns:

Resultant Geocentric after division.


function operator/=

Divides the Geocentric state vector by a scalar.

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

Parameters:

  • divisor Scalar value to divide with

Returns:

Reference to the current Geocentric object after division.


function operator=

Move assignment operator for Geocentric .

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

Parameters:

Returns:

Geocentric& Reference to the current object


function operator=

Copy assignment operator for Geocentric .

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

Parameters:

Returns:

Geocentric& Reference to the current object


function operator==

Compares two Geocentric objects for equality.

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

Parameters:

Returns:

true if the two Geocentric objects are equal

Returns:

false if the two Geocentric objects are not equal


function ~Geocentric

Default destructor for Geocentric .

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



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