Astro  0.0.0
A C++ library for space dynamics
Loading...
Searching...
No Matches
Astro::OrbitalElements::Cartesian Struct Reference

Structure container for the cartesian orbital elements. More...

#include <OrbitalElements.hh>

Public Member Functions

 Cartesian ()
 Cartesian (Vector3 const &t_r, Vector3 const &t_v)
 Cartesian (Vector6 const &t_cart)
 Cartesian (Real r_x, Real r_y, Real r_z, Real v_x, Real v_y, Real v_z)
 Cartesian (Cartesian const &)=default
 Cartesian (Cartesian &&)=default
Cartesianoperator= (const Cartesian &)=default
Cartesianoperator= (Cartesian &&)=default
Vector6 vector () const
std::string info () const
void info (std::ostream &os)
void reset ()
bool sanity_check () const
Vector3 h () const

Public Attributes

Vector3 r {NAN_VEC3}
Vector3 v {NAN_VEC3}

Detailed Description

Structure container for the cartesian orbital elements, which are:

  • the position vector \( \mathbf{r} \) (UA),
  • the velocity vector \( \mathbf{v} \) (UA/day).
Note
For more information on orbital elements, refer to "Survey of Orbital Elements", by G. R. Hintz, Journal of Guidance, Control, and Dynamics, Vol. 31, No. 3, May-June 2008.

Constructor & Destructor Documentation

◆ Cartesian() [1/6]

Astro::OrbitalElements::Cartesian::Cartesian ( )
inline

Structure constructor for Cartesian orbital elements.

◆ Cartesian() [2/6]

Astro::OrbitalElements::Cartesian::Cartesian ( Vector3 const & t_r,
Vector3 const & t_v )
inline

Structure constructor for Cartesian orbital elements.

Parameters
[in]t_rPosition vector \( \mathbf{r} \).
[in]t_vVelocity vector \( \mathbf{v} \).

◆ Cartesian() [3/6]

Astro::OrbitalElements::Cartesian::Cartesian ( Vector6 const & t_cart)
inline

Structure constructor for Cartesian orbital elements.

Parameters
[in]t_cartThe vector of cartesian orbital elements \( [r_x, r_y, r_z, v_x, v_y, v_z]^\top \).
Note
The vector \( t_{\text{cartesian}} \) must have 6 elements.

◆ Cartesian() [4/6]

Astro::OrbitalElements::Cartesian::Cartesian ( Real r_x,
Real r_y,
Real r_z,
Real v_x,
Real v_y,
Real v_z )
inline

Structure constructor for Cartesian orbital elements.

Parameters
[in]r_xPosition vector \( x \)-axis component.
[in]r_yPosition vector \( y \)-axis component.
[in]r_zPosition vector \( z \)-axis component.
[in]v_xVelocity vector \( x \)-axis component.
[in]v_yVelocity vector \( y \)-axis component.
[in]v_zVelocity vector \( z \)-axis component.

◆ Cartesian() [5/6]

Astro::OrbitalElements::Cartesian::Cartesian ( Cartesian const & )
default

Enable the default Cartesian orbital elements copy constructor.

◆ Cartesian() [6/6]

Astro::OrbitalElements::Cartesian::Cartesian ( Cartesian && )
default

Enable the default Cartesian orbital elements move constructor.

Member Function Documentation

◆ h()

Vector3 Astro::OrbitalElements::Cartesian::h ( ) const
inline

Compute the orbital momentum vector \( \mathbf{h} = \mathbf{r} \times \mathbf{v} \) (UA^2/day).

Returns
The orbital momentum vector \( \mathbf{h} \).

◆ info() [1/2]

std::string Astro::OrbitalElements::Cartesian::info ( ) const
inline

Print the cartesian orbital elements on a string.

Returns
The cartesian orbital elements string.

◆ info() [2/2]

void Astro::OrbitalElements::Cartesian::info ( std::ostream & os)
inline

Print the cartesian orbital elements on a stream.

Parameters
[in,out]osOutput stream.

◆ operator=() [1/2]

Cartesian & Astro::OrbitalElements::Cartesian::operator= ( Cartesian && )
default

Enable the default Cartesian orbital elements move assignment operator.

◆ operator=() [2/2]

Cartesian & Astro::OrbitalElements::Cartesian::operator= ( const Cartesian & )
default

Enable the default Cartesian orbital elements assignment operator.

◆ reset()

void Astro::OrbitalElements::Cartesian::reset ( )
inline

Reset the cartesian orbital elements to NaN.

◆ sanity_check()

bool Astro::OrbitalElements::Cartesian::sanity_check ( ) const
inline

Check if the cartesian orbital elements are valid, i.e., finite.

◆ vector()

Vector6 Astro::OrbitalElements::Cartesian::vector ( ) const
inline

Get the cartesian orbital elements as a vector.

Returns
The vector of cartesian orbital elements \( [r_x, r_y, r_z, v_x, v_y, v_z]^\top \).

Member Data Documentation

◆ r

Vector3 Astro::OrbitalElements::Cartesian::r {NAN_VEC3}

Position vector \( \mathbf{r} \) (UA).

◆ v

Vector3 Astro::OrbitalElements::Cartesian::v {NAN_VEC3}

Velocity vector \( \mathbf{v} \) (UA/day).


The documentation for this struct was generated from the following file: