Skip to content

Class astrea::astro::Keplerian

ClassList > astrea > astro > Keplerian

The Keplerian class represents theKeplerian orbital elements.More...

  • #include <Keplerian.hpp>

Public Functions

Type Name
Keplerian (Unitless scale=0.0 *astrea::detail::unitless)
Constructs a Keplerian object with default values.
Keplerian (const Distance & semimajor, const Unitless & eccentricity, const Angle & inclination, const Angle & rightAscension, const Angle & argPerigee, const Angle & trueAnomaly)
Constructs a Keplerian object with specified values.
Keplerian (const Keplerian & elements, const GravParam & mu)
Constructs a Keplerian object from anotherKeplerian object.
Keplerian (const OrbitalElements & elements, const GravParam & mu)
Constructs a Keplerian object fromOrbitalElements .
Keplerian (const Cartesian & elements, const GravParam & mu)
Constructs a Keplerian object fromCartesian elements.
Keplerian (const Equinoctial & elements, const GravParam & mu)
Constructs a Keplerian object fromEquinoctial elements.
Keplerian (const Keplerian & other)
Copy constructor for Keplerian .
Keplerian (Keplerian && other) noexcept
Move constructor for Keplerian .
std::vector< Unitless > force_to_vector () const
Converts the Keplerian state vector to a vector of unitless values.
const Angle & get_argument_of_perigee () const
Get the argument of perigee of the Keplerian state vector.
const Unitless & get_eccentricity () const
Get the eccentricity of the Keplerian state vector.
const Angle & get_inclination () const
Get the inclination of the Keplerian state vector.
Angle get_mean_anomaly () const
Get the mean anomaly of the Keplerian state vector.
MeanMotion get_mean_motion (const GravParam & mu) const
Get the mean motion of the Keplerian state vector.
const Angle & get_right_ascension () const
Get the right ascension of the ascending node of the Keplerian state vector.
const Distance & get_semimajor () const
Get the semimajor axis of the Keplerian state vector.
const Angle & get_true_anomaly () const
Get the true anomaly of the Keplerian state vector.
Keplerian interpolate (const Time & thisTime, const Time & otherTime, const Keplerian & other, const GravParam & mu, const Time & targetTime) const
Interpolates between two Keplerian state vectors.
bool operator!= (const Keplerian & other) const
Checks if two Keplerian objects are not equal.
Keplerian operator* (const Unitless & multiplier) const
Multiplies the Keplerian state vector by a scalar.
Keplerian & operator*= (const Unitless & multiplier)
Multiplies the Keplerian state vector by a scalar.
Keplerian operator+ (const Keplerian & other) const
Adds two Keplerian objects.
Keplerian & operator+= (const Keplerian & other)
Adds another Keplerian object to the current one.
Keplerian operator- (const Keplerian & other) const
Subtracts another Keplerian object from the current one.
Keplerian & operator-= (const Keplerian & other)
Subtracts another Keplerian object from the current one.
KeplerianPartial operator/ (const Time & time) const
Divides the Keplerian state vector by a time.
Keplerian operator/ (const Unitless & divisor) const
Divides the Keplerian state vector by anotherKeplerian object.
Keplerian & operator/= (const Unitless & divisor)
Divides the Keplerian state vector by a scalar.
Keplerian & operator= (Keplerian && other) noexcept
Move assignment operator for Keplerian .
Keplerian & operator= (const Keplerian & other)
Copy assignment operator for Keplerian .
bool operator== (const Keplerian & other) const
Checks if two Keplerian objects are equal.
void set_argument_of_perigee (const Angle & argPerigee)
Get the argument of perigee of the Keplerian state vector.
void set_eccentricity (const Unitless & eccentricity)
Set the eccentricity of the Keplerian state vector.
void set_inclination (const Angle & inclination)
Set the inclination of the Keplerian state vector.
void set_right_ascension (const Angle & rightAscension)
Set the right ascension of the ascending node of the Keplerian state vector.
void set_semimajor (const Distance & semimajor)
Set the semimajor axis of the Keplerian state vector.
void set_true_anomaly (const Angle & trueAnomaly)
Get the true anomaly of the Keplerian state vector.
~Keplerian () = default
Destructor for Keplerian .

Public Static Functions

Type Name
Keplerian GEO ()
A static method to create Keplerian state vectors for a GEO orbit.
Keplerian GPS ()
A static method to create Keplerian state vectors for a GPS orbit.
Keplerian HMEO ()
A static method to create Keplerian state vectors for a HMEO orbit.
Keplerian LEO ()
A static method to create Keplerian state vectors for a LEO orbit.
Keplerian LMEO ()
A static method to create Keplerian state vectors for a LMEO orbit.

Detailed Description

The Keplerian elements are a set of six parameters that describe the orbit of a celestial body. They include the semimajor axis, eccentricity, inclination, right ascension of the ascending node, argument of perigee, and true anomaly.

Public Functions Documentation

function Keplerian [1/8]

Constructs a Keplerian object with default values.

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

Parameters:

  • scale A scaling factor to initialize the elements, typically used for unit conversion.

function Keplerian [2/8]

Constructs a Keplerian object with specified values.

inline astrea::astro::Keplerian::Keplerian (
    const Distance & semimajor,
    const Unitless & eccentricity,
    const Angle & inclination,
    const Angle & rightAscension,
    const Angle & argPerigee,
    const Angle & trueAnomaly
) 

Parameters:

  • semimajor The semimajor axis of the orbit.
  • eccentricity The eccentricity of the orbit.
  • inclination The inclination of the orbit.
  • rightAscension The right ascension of the ascending node.
  • argPerigee The argument of perigee.
  • trueAnomaly The true anomaly of the orbit.

function Keplerian [3/8]

Constructs a Keplerian object from anotherKeplerian object.

inline astrea::astro::Keplerian::Keplerian (
    const Keplerian & elements,
    const GravParam & mu
) 

Parameters:

  • elements The Keplerian elements to copy.
  • sys The astrodynamics system context for conversion.

function Keplerian [4/8]

Constructs a Keplerian object fromOrbitalElements .

astrea::astro::Keplerian::Keplerian (
    const OrbitalElements & elements,
    const GravParam & mu
) 

Parameters:

  • elements The OrbitalElements to convert.
  • sys The astrodynamics system context for conversion.

function Keplerian [5/8]

Constructs a Keplerian object fromCartesian elements.

astrea::astro::Keplerian::Keplerian (
    const Cartesian & elements,
    const GravParam & mu
) 

Parameters:

  • elements The Cartesian elements to convert.
  • sys The astrodynamics system context for conversion.

function Keplerian [6/8]

Constructs a Keplerian object fromEquinoctial elements.

astrea::astro::Keplerian::Keplerian (
    const Equinoctial & elements,
    const GravParam & mu
) 

Parameters:

  • elements The Equinoctial elements to convert.
  • sys The astrodynamics system context for conversion.

function Keplerian [7/8]

Copy constructor for Keplerian .

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

Parameters:


function Keplerian [8/8]

Move constructor for Keplerian .

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

Parameters:


function force_to_vector

Converts the Keplerian state vector to a vector of unitless values.

std::vector< Unitless > astrea::astro::Keplerian::force_to_vector () const

Returns:

std::vector<Unitless> Vector containing the semimajor axis, eccentricity, inclination, right ascension, argument of perigee, and true anomaly components of the Keplerian state vector.


function get_argument_of_perigee

Get the argument of perigee of the Keplerian state vector.

inline const Angle & astrea::astro::Keplerian::get_argument_of_perigee () const

Returns:

const Angle& Reference to the argument of perigee component of the Keplerian state vector.


function get_eccentricity

Get the eccentricity of the Keplerian state vector.

inline const Unitless & astrea::astro::Keplerian::get_eccentricity () const

Returns:

const Unitless& Reference to the eccentricity component of the Keplerian state vector.


function get_inclination

Get the inclination of the Keplerian state vector.

inline const Angle & astrea::astro::Keplerian::get_inclination () const

Returns:

const Angle& Reference to the inclination component of the Keplerian state vector.


function get_mean_anomaly

Get the mean anomaly of the Keplerian state vector.

Angle astrea::astro::Keplerian::get_mean_anomaly () const

Returns:

Angle Mean anomaly of the Keplerian state vector.


function get_mean_motion

Get the mean motion of the Keplerian state vector.

MeanMotion astrea::astro::Keplerian::get_mean_motion (
    const GravParam & mu
) const

Parameters:

  • mu Gravitational parameter of the central body

Returns:

MeanMotion Mean motion of the Keplerian state vector.


function get_right_ascension

Get the right ascension of the ascending node of the Keplerian state vector.

inline const Angle & astrea::astro::Keplerian::get_right_ascension () const

Returns:

const Angle& Reference to the right ascension component of the Keplerian state vector.


function get_semimajor

Get the semimajor axis of the Keplerian state vector.

inline const Distance & astrea::astro::Keplerian::get_semimajor () const

Returns:

const Distance& Reference to the semimajor axis component of the Keplerian state vector.


function get_true_anomaly

Get the true anomaly of the Keplerian state vector.

inline const Angle & astrea::astro::Keplerian::get_true_anomaly () const

Returns:

const Angle& Reference to the true anomaly component of the Keplerian state vector.


function interpolate

Interpolates between two Keplerian state vectors.

Keplerian astrea::astro::Keplerian::interpolate (
    const Time & thisTime,
    const Time & otherTime,
    const Keplerian & other,
    const GravParam & mu,
    const Time & targetTime
) const

This method performs linear interpolation between two Keplerian state vectors at a specified target time.

Parameters:

  • thisTime The time of the first Keplerian state vector.
  • otherTime The time of the second Keplerian state vector.
  • other The second Keplerian state vector to interpolate with.
  • mu The gravitational parameter of the central body.
  • targetTime The target time for interpolation.

Returns:

Keplerian Interpolated Keplerian state vector at the target time.


function operator!=

Checks if two Keplerian objects are not equal.

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

Parameters:

Returns:

true if the two Keplerian objects are not equal, false otherwise.


function operator*

Multiplies the Keplerian state vector by a scalar.

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

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Resultant Keplerian after multiplication.


function operator*=

Multiplies the Keplerian state vector by a scalar.

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

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Reference to the current Keplerian object after multiplication.


function operator+

Adds two Keplerian objects.

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

Parameters:

Returns:

Resultant Keplerian sum.


function operator+=

Adds another Keplerian object to the current one.

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

Parameters:

Returns:

Reference to the current Keplerian object after addition.


function operator-

Subtracts another Keplerian object from the current one.

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

Parameters:

Returns:

Resultant Keplerian after subtraction.


function operator-=

Subtracts another Keplerian object from the current one.

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

Parameters:

Returns:

Reference to the current Keplerian object after subtraction.


function operator/

Divides the Keplerian state vector by a time.

KeplerianPartial astrea::astro::Keplerian::operator/ (
    const Time & time
) const

Parameters:

  • time Time value to divide by

Returns:

Resultant KeplerianPartial after division.


function operator/

Divides the Keplerian state vector by anotherKeplerian object.

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

Parameters:

Returns:

Resultant vector of unitless values after division.


function operator/=

Divides the Keplerian state vector by a scalar.

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

Parameters:

  • divisor Scalar value to divide with

Returns:

Reference to the current Keplerian object after division.


function operator=

Move assignment operator for Keplerian .

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

Parameters:

Returns:

Keplerian& Reference to the current object


function operator=

Copy assignment operator for Keplerian .

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

Parameters:

Returns:

Keplerian& Reference to the current object


function operator==

Checks if two Keplerian objects are equal.

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

Parameters:

Returns:

true if the two Keplerian objects are equal, false otherwise.


function set_argument_of_perigee

Get the argument of perigee of the Keplerian state vector.

inline void astrea::astro::Keplerian::set_argument_of_perigee (
    const Angle & argPerigee
) 


function set_eccentricity

Set the eccentricity of the Keplerian state vector.

inline void astrea::astro::Keplerian::set_eccentricity (
    const Unitless & eccentricity
) 


function set_inclination

Set the inclination of the Keplerian state vector.

inline void astrea::astro::Keplerian::set_inclination (
    const Angle & inclination
) 


function set_right_ascension

Set the right ascension of the ascending node of the Keplerian state vector.

inline void astrea::astro::Keplerian::set_right_ascension (
    const Angle & rightAscension
) 


function set_semimajor

Set the semimajor axis of the Keplerian state vector.

inline void astrea::astro::Keplerian::set_semimajor (
    const Distance & semimajor
) 


function set_true_anomaly

Get the true anomaly of the Keplerian state vector.

inline void astrea::astro::Keplerian::set_true_anomaly (
    const Angle & trueAnomaly
) 


function ~Keplerian

Destructor for Keplerian .

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

Cleans up the Keplerian object.


Public Static Functions Documentation

function GEO

A static method to create Keplerian state vectors for a GEO orbit.

static Keplerian astrea::astro::Keplerian::GEO () 

This method return predefined Keplerian state vectors for various types of orbits.

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Keplerian Predefined Keplerian state vector for a GEO orbit.


function GPS

A static method to create Keplerian state vectors for a GPS orbit.

static Keplerian astrea::astro::Keplerian::GPS () 

This method return predefined Keplerian state vectors for various types of orbits.

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Keplerian Predefined Keplerian state vector for a GPS orbit.


function HMEO

A static method to create Keplerian state vectors for a HMEO orbit.

static Keplerian astrea::astro::Keplerian::HMEO () 

This method return predefined Keplerian state vectors for various types of orbits.

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Keplerian Predefined Keplerian state vector for a HMEO orbit.


function LEO

A static method to create Keplerian state vectors for a LEO orbit.

static Keplerian astrea::astro::Keplerian::LEO () 

This method return predefined Keplerian state vectors for various types of orbits.

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Keplerian Predefined Keplerian state vector for a LEO orbit.


function LMEO

A static method to create Keplerian state vectors for a LMEO orbit.

static Keplerian astrea::astro::Keplerian::LMEO () 

This method return predefined Keplerian state vectors for various types of orbits.

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Keplerian Predefined Keplerian state vector for a LMEO orbit.



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