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.
Parameters:
scaleA 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:
semilatusThe semilatus rectum of the orbit.fThe first component of the eccentricity vector.gThe second component of the eccentricity vector.hThe the first component of the planar vector.kThe the second component of the planar vector.trueLongitudeThe 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:
elementsThe Equinoctial object to copy.sysThe astrodynamics system context for conversion.
function Equinoctial [4/8]¶
Constructs an Equinoctial object fromKeplerian elements.
Parameters:
elementsThe Keplerian elements to convert.sysThe astrodynamics system context for conversion.
function Equinoctial [5/8]¶
Constructs an Equinoctial object fromCartesian elements.
Parameters:
elementsThe Cartesian elements to convert.sysThe astrodynamics system context for conversion.
function Equinoctial [6/8]¶
Constructs an Equinoctial object fromOrbitalElements .
Parameters:
elementsThe OrbitalElements to convert.sysThe astrodynamics system context for conversion.
function Equinoctial [7/8]¶
Copy constructor for Equinoctial .
function Equinoctial [8/8]¶
Move constructor for Equinoctial .
Parameters:
otherAnother Equinoctial object
function force_to_vector¶
Converts the Equinoctial state vector to a vector of unitless values.
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.
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.
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.
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.
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.
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.
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:
thisTimeTime of the current stateotherTimeTime of the other stateotherAnother Equinoctial object to interpolate withmuThe gravitational parameter to use for the interpolationtargetTimeTime of the target state
Returns:
Equinoctial Interpolated Equinoctial state vector.
function operator!=¶
Checks if two Equinoctial objects are not equal.
Parameters:
otherAnother Equinoctial object
Returns:
true if the two Equinoctial objects are not equal, false otherwise.
function operator*¶
Multiplies the Equinoctial state vector by a scalar.
Parameters:
multiplierScalar value to multiply with
Returns:
Resultant Equinoctial after multiplication.
function operator*=¶
Multiplies the Equinoctial state vector by a scalar.
Parameters:
multiplierScalar value to multiply with
Returns:
Reference to the current Equinoctial object after multiplication.
function operator+¶
Adds two Equinoctial objects.
Parameters:
otherAnother Equinoctial object
Returns:
Resultant Equinoctial sum.
function operator+=¶
Adds another Equinoctial object to the current one.
Parameters:
otherAnother Equinoctial object
Returns:
Reference to the current Equinoctial object after addition.
function operator-¶
Subtracts another Equinoctial object from the current one.
Parameters:
otherAnother Equinoctial object
Returns:
Resultant Equinoctial after subtraction.
function operator-=¶
Subtracts another Equinoctial object from the current one.
Parameters:
otherAnother Equinoctial object
Returns:
Reference to the current Equinoctial object after subtraction.
function operator/¶
Divides the Equinoctial state vector by a time.
Parameters:
timeTime value to divide by
Returns:
Resultant EquinoctialPartial after division.
function operator/¶
Divides the Equinoctial state vector by a scalar.
Parameters:
divisorScalar value to divide with
Returns:
Resultant Equinoctial after division.
function operator/=¶
Divides the Equinoctial state vector by a scalar.
Parameters:
divisorScalar value to divide with
Returns:
Reference to the current Equinoctial object after division.
function operator=¶
Move assignment operator for Equinoctial .
Parameters:
otherAnother Equinoctial object
Returns:
Equinoctial& Reference to the current object
function operator=¶
Copy assignment operator for Equinoctial .
Parameters:
otherAnother Equinoctial object
Returns:
Equinoctial& Reference to the current object
function operator==¶
Checks if two Equinoctial objects are equal.
Parameters:
otherAnother Equinoctial object
Returns:
true if the two Equinoctial objects are equal, false otherwise.
function ~Equinoctial¶
Default destructor for Equinoctial .
Public Static Functions Documentation¶
function GEO¶
A static method to create Equinoctial state vectors for a GEO orbit.
This method return predefined Equinoctial state vectors for various types of orbits.
Parameters:
muGravitational 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.
This method return predefined Equinoctial state vectors for various types of orbits.
Parameters:
muGravitational 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.
This method return predefined Equinoctial state vectors for various types of orbits.
Parameters:
muGravitational 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.
This method return predefined Equinoctial state vectors for various types of orbits.
Parameters:
muGravitational 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.
This method return predefined Equinoctial state vectors for various types of orbits.
Parameters:
muGravitational 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