Skip to content

Class astrea::astro::Equinoctial

ClassList > astrea > astro > Equinoctial

The Equinoctial class represents the equinoctial orbital elements.More...

  • #include <Equinoctial.hpp>

Public Functions

Type Name
Equinoctial (Unitless scale=0.0 *astrea::detail::unitless)
Constructs an Equinoctial object with default values.
Equinoctial (const Distance & semilatus, const Unitless & f, const Unitless & g, const Unitless & h, const Unitless & k, const Angle & trueLongitude)
Constructs an Equinoctial object with specified values.
Equinoctial (const Equinoctial & elements, const GravParam & mu)
Constructs an Equinoctial object from anotherEquinoctial object.
Equinoctial (const Keplerian & elements, const GravParam & mu)
Constructs an Equinoctial object fromKeplerian elements.
Equinoctial (const Cartesian & elements, const GravParam & mu)
Constructs an Equinoctial object fromCartesian elements.
Equinoctial (const OrbitalElements & elements, const GravParam & mu)
Constructs an Equinoctial object fromOrbitalElements .
Equinoctial (const Equinoctial & other)
Copy constructor for Equinoctial .
Equinoctial (Equinoctial && other) noexcept
Move constructor for Equinoctial .
std::vector< Unitless > force_to_vector () const
Converts the Equinoctial state vector to a vector of unitless values.
const Unitless & get_f () const
Get the f value of the Equinoctial state vector.
const Unitless & get_g () const
Get the g value of the Equinoctial state vector.
const Unitless & get_h () const
Get the h value of the Equinoctial state vector.
const Unitless & get_k () const
Get the k value of the Equinoctial state vector.
const Distance & get_semilatus () const
Get the semilatus value of the Equinoctial state vector.
const Angle & get_true_longitude () const
Get the true longitude value of the Equinoctial state vector.
Equinoctial interpolate (const Time & thisTime, const Time & otherTime, const Equinoctial & other, const GravParam & mu, const Time & targetTime) const
Interpolates the Equinoctial state vector between two time instances.
bool operator!= (const Equinoctial & other) const
Checks if two Equinoctial objects are not equal.
Equinoctial operator* (const Unitless & multiplier) const
Multiplies the Equinoctial state vector by a scalar.
Equinoctial & operator*= (const Unitless & multiplier)
Multiplies the Equinoctial state vector by a scalar.
Equinoctial operator+ (const Equinoctial & other) const
Adds two Equinoctial objects.
Equinoctial & operator+= (const Equinoctial & other)
Adds another Equinoctial object to the current one.
Equinoctial operator- (const Equinoctial & other) const
Subtracts another Equinoctial object from the current one.
Equinoctial & operator-= (const Equinoctial & other)
Subtracts another Equinoctial object from the current one.
EquinoctialPartial operator/ (const Time & time) const
Divides the Equinoctial state vector by a time.
Equinoctial operator/ (const Unitless & divisor) const
Divides the Equinoctial state vector by a scalar.
Equinoctial & operator/= (const Unitless & divisor)
Divides the Equinoctial state vector by a scalar.
Equinoctial & operator= (Equinoctial && other) noexcept
Move assignment operator for Equinoctial .
Equinoctial & operator= (const Equinoctial & other)
Copy assignment operator for Equinoctial .
bool operator== (const Equinoctial & other) const
Checks if two Equinoctial objects are equal.
~Equinoctial () = default
Default destructor for Equinoctial .

Public Static Functions

Type Name
Equinoctial GEO (const GravParam & mu)
A static method to create Equinoctial state vectors for a GEO orbit.
Equinoctial GPS (const GravParam & mu)
A static method to create Equinoctial state vectors for a GPS orbit.
Equinoctial HMEO (const GravParam & mu)
A static method to create Equinoctial state vectors for a HMEO orbit.
Equinoctial LEO (const GravParam & mu)
A static method to create Equinoctial state vectors for a LEO orbit.
Equinoctial LMEO (const GravParam & mu)
A static method to create Equinoctial state vectors for a LMEO orbit.

Detailed Description

The equinoctial elements are a set of orbital elements that are particularly useful for describing orbits in a way that avoids singularities, especially for near-circular orbits. They are defined in terms of the semilatus rectum and the components of the eccentricity vector.

Public Functions Documentation

function Equinoctial [1/8]

Constructs an Equinoctial object with default values.

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

Parameters:

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

function Equinoctial [2/8]

Constructs an Equinoctial object with specified values.

inline astrea::astro::Equinoctial::Equinoctial (
    const Distance & semilatus,
    const Unitless & f,
    const Unitless & g,
    const Unitless & h,
    const Unitless & k,
    const Angle & trueLongitude
) 

Parameters:

  • semilatus The semilatus rectum of the orbit.
  • f The first component of the eccentricity vector.
  • g The second component of the eccentricity vector.
  • h The the first component of the planar vector.
  • k The the second component of the planar vector.
  • trueLongitude The true longitude of the orbit.

function Equinoctial [3/8]

Constructs an Equinoctial object from anotherEquinoctial object.

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

Parameters:

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

function Equinoctial [4/8]

Constructs an Equinoctial object fromKeplerian elements.

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

Parameters:

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

function Equinoctial [5/8]

Constructs an Equinoctial object fromCartesian elements.

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

Parameters:

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

function Equinoctial [6/8]

Constructs an Equinoctial object fromOrbitalElements .

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

Parameters:

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

function Equinoctial [7/8]

Copy constructor for Equinoctial .

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


function Equinoctial [8/8]

Move constructor for Equinoctial .

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

Parameters:


function force_to_vector

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

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

Returns:

std::vector<Unitless> Vector containing the semilatus, f, g, h, k, and true longitude components of the Equinoctial state vector.


function get_f

Get the f value of the Equinoctial state vector.

inline const Unitless & astrea::astro::Equinoctial::get_f () const

Returns:

const Unitless& Reference to the f component of the Equinoctial state vector.


function get_g

Get the g value of the Equinoctial state vector.

inline const Unitless & astrea::astro::Equinoctial::get_g () const

Returns:

const Unitless& Reference to the g component of the Equinoctial state vector.


function get_h

Get the h value of the Equinoctial state vector.

inline const Unitless & astrea::astro::Equinoctial::get_h () const

Returns:

const Unitless& Reference to the h component of the Equinoctial state vector.


function get_k

Get the k value of the Equinoctial state vector.

inline const Unitless & astrea::astro::Equinoctial::get_k () const

Returns:

const Unitless& Reference to the k component of the Equinoctial state vector.


function get_semilatus

Get the semilatus value of the Equinoctial state vector.

inline const Distance & astrea::astro::Equinoctial::get_semilatus () const

Returns:

const Distance& Reference to the semilatus component of the Equinoctial state vector.


function get_true_longitude

Get the true longitude value of the Equinoctial state vector.

inline const Angle & astrea::astro::Equinoctial::get_true_longitude () const

Returns:

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


function interpolate

Interpolates the Equinoctial state vector between two time instances.

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

Parameters:

  • thisTime Time of the current state
  • otherTime Time of the other state
  • other Another Equinoctial object to interpolate with
  • mu The gravitational parameter to use for the interpolation
  • targetTime Time of the target state

Returns:

Equinoctial Interpolated Equinoctial state vector.


function operator!=

Checks if two Equinoctial objects are not equal.

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

Parameters:

Returns:

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


function operator*

Multiplies the Equinoctial state vector by a scalar.

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

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Resultant Equinoctial after multiplication.


function operator*=

Multiplies the Equinoctial state vector by a scalar.

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

Parameters:

  • multiplier Scalar value to multiply with

Returns:

Reference to the current Equinoctial object after multiplication.


function operator+

Adds two Equinoctial objects.

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

Parameters:

Returns:

Resultant Equinoctial sum.


function operator+=

Adds another Equinoctial object to the current one.

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

Parameters:

Returns:

Reference to the current Equinoctial object after addition.


function operator-

Subtracts another Equinoctial object from the current one.

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

Parameters:

Returns:

Resultant Equinoctial after subtraction.


function operator-=

Subtracts another Equinoctial object from the current one.

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

Parameters:

Returns:

Reference to the current Equinoctial object after subtraction.


function operator/

Divides the Equinoctial state vector by a time.

EquinoctialPartial astrea::astro::Equinoctial::operator/ (
    const Time & time
) const

Parameters:

  • time Time value to divide by

Returns:

Resultant EquinoctialPartial after division.


function operator/

Divides the Equinoctial state vector by a scalar.

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

Parameters:

  • divisor Scalar value to divide with

Returns:

Resultant Equinoctial after division.


function operator/=

Divides the Equinoctial state vector by a scalar.

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

Parameters:

  • divisor Scalar value to divide with

Returns:

Reference to the current Equinoctial object after division.


function operator=

Move assignment operator for Equinoctial .

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

Parameters:

Returns:

Equinoctial& Reference to the current object


function operator=

Copy assignment operator for Equinoctial .

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

Parameters:

Returns:

Equinoctial& Reference to the current object


function operator==

Checks if two Equinoctial objects are equal.

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

Parameters:

Returns:

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


function ~Equinoctial

Default destructor for Equinoctial .

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


Public Static Functions Documentation

function GEO

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

static Equinoctial astrea::astro::Equinoctial::GEO (
    const GravParam & mu
) 

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

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Equinoctial Predefined Equinoctial state vector for a GEO orbit.


function GPS

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

static Equinoctial astrea::astro::Equinoctial::GPS (
    const GravParam & mu
) 

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

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Equinoctial Predefined Equinoctial state vector for a GPS orbit.


function HMEO

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

static Equinoctial astrea::astro::Equinoctial::HMEO (
    const GravParam & mu
) 

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

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Equinoctial Predefined Equinoctial state vector for a HMEO orbit.


function LEO

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

static Equinoctial astrea::astro::Equinoctial::LEO (
    const GravParam & mu
) 

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

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Equinoctial Predefined Equinoctial state vector for a LEO orbit.


function LMEO

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

static Equinoctial astrea::astro::Equinoctial::LMEO (
    const GravParam & mu
) 

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

Parameters:

  • mu Gravitational parameter of the central body

Returns:

Equinoctial Predefined Equinoctial state vector for a LMEO orbit.



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