Skip to content

Class astrea::astro::Cylindrical

ClassList > astrea > astro > Cylindrical

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

  • #include <Cylindrical.hpp>

Public Functions

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

Detailed Description

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

Public Functions Documentation

function Cylindrical [1/7]

Default constructor for Cylindrical .

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

Initializes the Cylindrical state vector with zero values.


function Cylindrical [2/7]

Constructor for Cylindrical with azimuth, elevation, and range.

inline astrea::astro::Cylindrical::Cylindrical (
    const Distance & range,
    const Angle & azimuth,
    const Distance & elevation
) 

Parameters:

  • azimuth Cylindrical azimuth
  • elevation Elevation
  • range Range

function Cylindrical [3/7]

Constructor for Cylindrical with position and velocity vectors.

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

Parameters:

  • r Radius vector in ECI (position)

function Cylindrical [4/7]

Constructor for Cylindrical with position and velocity vectors.

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

Parameters:

  • r Radius vector in ECEF (position)

function Cylindrical [5/7]

Constructor for Cylindrical from orbital elements.

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

Parameters:

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

function Cylindrical [6/7]

Copy constructor for Cylindrical .

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

Parameters:


function Cylindrical [7/7]

Move constructor for Cylindrical .

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

Parameters:


function get_azimuth

Get the azimuth of the Cylindrical state vector.

inline const Angle & astrea::astro::Cylindrical::get_azimuth () const

Returns:

const Angle& Reference to the azimuth component of the Cylindrical state vector.


function get_elevation

Get the elevation of the Cylindrical state vector.

inline const Distance & astrea::astro::Cylindrical::get_elevation () const

Returns:

const Distance& Reference to the elevation component of the Cylindrical state vector.


function get_position [1/2]

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

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

Returns:

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


function get_position [2/2]

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

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

Returns:

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


function get_range

Get the range of the Cylindrical state vector.

inline const Distance & astrea::astro::Cylindrical::get_range () const

Returns:

const Distance& Reference to the range component of the Cylindrical state vector.


function interpolate

Interpolates between two Cylindrical states at a given time.

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

Parameters:

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

Returns:

Cylindrical Interpolated Cylindrical state at the target time.


function operator!=

Compares two Cylindrical objects for inequality.

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

Parameters:

Returns:

true if the two Cylindrical objects are not equal

Returns:

false if the two Cylindrical objects are equal


function operator*

Multiplies the Cylindrical state vector by a scalar.

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

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Resultant Cylindrical after multiplication.


function operator*=

Multiplies the Cylindrical state vector by a scalar.

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

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Reference to the current Cylindrical object after multiplication.


function operator+

Adds two Cylindrical objects.

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

Parameters:

Returns:

Resultant Cylindrical sum.


function operator+=

Adds another Cylindrical object to the current one.

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

Parameters:

Returns:

Reference to the current Cylindrical object after addition.


function operator-

Subtracts another Cylindrical object from the current one.

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

Parameters:

Returns:

Resultant Cylindrical difference.


function operator-=

Subtracts another Cylindrical object from the current one.

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

Parameters:

Returns:

Reference to the current Cylindrical object after subtraction.


function operator/

Divides the Cylindrical state vector by anotherCylindrical object.

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

Parameters:

Returns:

Resultant vector of unitless values after division.


function operator/

Divides the Cylindrical state vector by a scalar.

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

Parameters:

  • divisor Scalar value to divide with

Returns:

Resultant Cylindrical after division.


function operator/=

Divides the Cylindrical state vector by a scalar.

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

Parameters:

  • divisor Scalar value to divide with

Returns:

Reference to the current Cylindrical object after division.


function operator=

Move assignment operator for Cylindrical .

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

Parameters:

Returns:

Cylindrical& Reference to the current object


function operator=

Copy assignment operator for Cylindrical .

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

Parameters:

Returns:

Cylindrical& Reference to the current object


function operator==

Compares two Cylindrical objects for equality.

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

Parameters:

Returns:

true if the two Cylindrical objects are equal

Returns:

false if the two Cylindrical objects are not equal


function ~Cylindrical

Default destructor for Cylindrical .

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



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