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.
Parameters:
scaleA 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:
semimajorThe semimajor axis of the orbit.eccentricityThe eccentricity of the orbit.inclinationThe inclination of the orbit.rightAscensionThe right ascension of the ascending node.argPerigeeThe argument of perigee.trueAnomalyThe true anomaly of the orbit.
function Keplerian [3/8]¶
Constructs a Keplerian object from anotherKeplerian object.
Parameters:
elementsThe Keplerian elements to copy.sysThe astrodynamics system context for conversion.
function Keplerian [4/8]¶
Constructs a Keplerian object fromOrbitalElements .
Parameters:
elementsThe OrbitalElements to convert.sysThe astrodynamics system context for conversion.
function Keplerian [5/8]¶
Constructs a Keplerian object fromCartesian elements.
Parameters:
elementsThe Cartesian elements to convert.sysThe astrodynamics system context for conversion.
function Keplerian [6/8]¶
Constructs a Keplerian object fromEquinoctial elements.
Parameters:
elementsThe Equinoctial elements to convert.sysThe astrodynamics system context for conversion.
function Keplerian [7/8]¶
Copy constructor for Keplerian .
Parameters:
otherAnother Keplerian object
function Keplerian [8/8]¶
Move constructor for Keplerian .
Parameters:
otherAnother Keplerian object
function force_to_vector¶
Converts the Keplerian state vector to a vector of unitless values.
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.
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.
Returns:
const Unitless& Reference to the eccentricity component of the Keplerian state vector.
function get_inclination¶
Get the inclination of the Keplerian state vector.
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.
Returns:
Angle Mean anomaly of the Keplerian state vector.
function get_mean_motion¶
Get the mean motion of the Keplerian state vector.
Parameters:
muGravitational 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.
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.
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.
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:
thisTimeThe time of the first Keplerian state vector.otherTimeThe time of the second Keplerian state vector.otherThe second Keplerian state vector to interpolate with.muThe gravitational parameter of the central body.targetTimeThe target time for interpolation.
Returns:
Keplerian Interpolated Keplerian state vector at the target time.
function operator!=¶
Checks if two Keplerian objects are not equal.
Parameters:
otherAnother Keplerian object
Returns:
true if the two Keplerian objects are not equal, false otherwise.
function operator*¶
Multiplies the Keplerian state vector by a scalar.
Parameters:
multiplierScalar value to multiply with
Returns:
Resultant Keplerian after multiplication.
function operator*=¶
Multiplies the Keplerian state vector by a scalar.
Parameters:
multiplierScalar value to multiply with
Returns:
Reference to the current Keplerian object after multiplication.
function operator+¶
Adds two Keplerian objects.
Parameters:
otherAnother Keplerian object
Returns:
Resultant Keplerian sum.
function operator+=¶
Adds another Keplerian object to the current one.
Parameters:
otherAnother Keplerian object
Returns:
Reference to the current Keplerian object after addition.
function operator-¶
Subtracts another Keplerian object from the current one.
Parameters:
otherAnother Keplerian object
Returns:
Resultant Keplerian after subtraction.
function operator-=¶
Subtracts another Keplerian object from the current one.
Parameters:
otherAnother Keplerian object
Returns:
Reference to the current Keplerian object after subtraction.
function operator/¶
Divides the Keplerian state vector by a time.
Parameters:
timeTime value to divide by
Returns:
Resultant KeplerianPartial after division.
function operator/¶
Divides the Keplerian state vector by anotherKeplerian object.
Parameters:
otherAnother Keplerian object
Returns:
Resultant vector of unitless values after division.
function operator/=¶
Divides the Keplerian state vector by a scalar.
Parameters:
divisorScalar value to divide with
Returns:
Reference to the current Keplerian object after division.
function operator=¶
Move assignment operator for Keplerian .
Parameters:
otherAnother Keplerian object
Returns:
Keplerian& Reference to the current object
function operator=¶
Copy assignment operator for Keplerian .
Parameters:
otherAnother Keplerian object
Returns:
Keplerian& Reference to the current object
function operator==¶
Checks if two Keplerian objects are equal.
Parameters:
otherAnother Keplerian object
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.
function set_eccentricity¶
Set the eccentricity of the Keplerian state vector.
function set_inclination¶
Set the inclination of the Keplerian state vector.
function set_right_ascension¶
Set the right ascension of the ascending node of the Keplerian state vector.
function set_semimajor¶
Set the semimajor axis of the Keplerian state vector.
function set_true_anomaly¶
Get the true anomaly of the Keplerian state vector.
function ~Keplerian¶
Destructor for Keplerian .
Cleans up the Keplerian object.
Public Static Functions Documentation¶
function GEO¶
A static method to create Keplerian state vectors for a GEO orbit.
This method return predefined Keplerian state vectors for various types of orbits.
Parameters:
muGravitational 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.
This method return predefined Keplerian state vectors for various types of orbits.
Parameters:
muGravitational 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.
This method return predefined Keplerian state vectors for various types of orbits.
Parameters:
muGravitational 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.
This method return predefined Keplerian state vectors for various types of orbits.
Parameters:
muGravitational 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.
This method return predefined Keplerian state vectors for various types of orbits.
Parameters:
muGravitational 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