#include <Keplerian.h>
Inheritance diagram for O_SESSAME::Keplerian:
The Keplerian class stores the orbital elements of an orbital position.
Definition at line 71 of file Keplerian.h.
Public Member Functions | |
virtual | ~Keplerian () |
Default Deconstructor. | |
virtual Keplerian * | NewPointer () |
Return a pointer to a new instance of a Keplerian orbit state representation type. | |
virtual Keplerian * | Clone () |
Return a pointer to a copy of the Keplerian orbit state representation instance. | |
Keplerian () | |
Create an initially empty Keplerian orbit state representation. | |
Keplerian (const Vector &_Elements) | |
void | SetPositionVelocity (const Vector &_Position, const Vector &_Velocity) |
Set the Keplerian representation by converting the position and velocity vectors in inertial coordinates. | |
void | SetPositionVelocity (const Vector &_PositionVelocity) |
Set the Keplerian representation by converting the position and velocity vector given in inertial coordinates. | |
void | SetPositionVelocity (const Vector &_Position, const Vector &_Velocity, const OrbitFrame &_OrbFrame) |
Set the Keplerian representation by converting the position and velocity vectors. | |
void | SetPositionVelocity (const Vector &_PositionVelocity, const OrbitFrame &_OrbFrame) |
Set the Keplerian representation by converting the position and velocity vector. | |
Vector | GetPositionVelocity () const |
Convert the Keplerian orbit representation to position and velocity vectors in the inertial frame. | |
Vector | GetPositionVelocity (const OrbitFrame &_TargetOrbFrame) const |
Convert the Keplerian orbit representation to position and velocity vectors in the specified frame. | |
void | GetPositionVelocity (Vector &_Position, Vector &_Velocity) const |
Return by reference the converted the Keplerian orbit representation to position and velocity vectors in the inertial frame. | |
void | GetPositionVelocity (Vector &_Position, Vector &_Velocity, const OrbitFrame &_TargetOrbFrame) const |
Return by reference the converted Keplerian orbit representation to position and velocity vectors in the specified frame. | |
double | GetEccentricAnomalyFromMeanAnomaly (const double &_MeanAnomaly) |
Solves Kepler's Equation in order to compute eccentric anomaly (E) from mean anomaly (M) and eccentricity (e). Adapted from Appendix A, Orbits, by Christopher D. Hall. Class notes for AOE 4140. Available at http://www.aoe.vt.edu/~chall/courses/aoe4140/. | |
void | GetTrueAnomalyFromEccentricAnomaly (const double &_EccentricAnomaly) |
Calculates true anomaly ( ) from eccentric anomaly (E), semimajor axis (a), and eccentricity (e). | |
tleStruct | ReadTwoLineElementSet (const string &_TwoLineElementSet) |
Parses a two line element set and updates orbital elements, returns a struct of additional information. | |
double | GetSemiParameter () const |
Compute and return the Semiparameter of the orbit position. | |
double | GetSemimajorAxis () const |
Return the Semimajor Axis of the orbit position. (km). | |
double | GetEccentricity () const |
Return the Eccentricity of the orbit position. (-). | |
double | GetInclination () const |
Return the Inclination of the orbit position. (-). | |
double | GetLongAscNode () const |
Return the Longitude of the Ascending Node of the orbit position. (rad). | |
double | GetArgPerigee () const |
Return the Argument of Perigee of the orbit position. (rad). | |
double | GetTrueAnomaly () const |
Return the True Anomaly of the orbit position. (rad). | |
double | GetMeanMotion () const |
Return the Mean orbital motion of the orbit position. (rad/s). | |
virtual void | SetState (const Vector &_Elements) |
Set the vector of the representation's state vector. | |
virtual Vector | GetState () const |
Return a vector of the representation's state vector. | |
virtual void | GetState (Vector &_Elements) const |
Return a vector by reference of the representation's state vector. | |
Private Attributes | |
Vector | m_OrbitalElements |
tleStruct | m_tleData |
|
Default Deconstructor.
Definition at line 17 of file Keplerian.cpp. |
|
Create an initially empty Keplerian orbit state representation.
Definition at line 49 of file Keplerian.cpp. |
|
Create a Keplerian orbit state representation from a vector of orbital elements.
Definition at line 57 of file Keplerian.cpp. |
|
Return a pointer to a new instance of a Keplerian orbit state representation type. This is used to request memory for a new instance of a Keplerian. It is necessary when attempting to get a pointer from the abstract data type OrbitStateRepresentation and the actual representation type isn't known.
Implements O_SESSAME::OrbitStateRepresentation. Definition at line 29 of file Keplerian.cpp. |
|
Return a pointer to a copy of the Keplerian orbit state representation instance. This is used to request memory for a copy of this instance of Keplerian. It is necessary when attempting to get a pointer from the abstract data type OrbitStateRepresentation and the actual representation type isn't known.
Implements O_SESSAME::OrbitStateRepresentation. Definition at line 42 of file Keplerian.cpp. |
|
Set the Keplerian representation by converting the position and velocity vectors in inertial coordinates. Required to match the OrbitStateRepresentation abstract class interface.
Implements O_SESSAME::OrbitStateRepresentation. Definition at line 70 of file Keplerian.cpp. |
|
Set the Keplerian representation by converting the position and velocity vector given in inertial coordinates. required to match the OrbitStateRepresentation abstract class interface.
Implements O_SESSAME::OrbitStateRepresentation. Definition at line 138 of file Keplerian.cpp. |
|
Set the Keplerian representation by converting the position and velocity vectors.
Definition at line 153 of file Keplerian.cpp. |
|
Set the Keplerian representation by converting the position and velocity vector.
Definition at line 169 of file Keplerian.cpp. |
|
Convert the Keplerian orbit representation to position and velocity vectors in the inertial frame. Required to match the OrbitStateRepresentation abstract class interface.
Implements O_SESSAME::OrbitStateRepresentation. Definition at line 183 of file Keplerian.cpp. |
|
Convert the Keplerian orbit representation to position and velocity vectors in the specified frame.
Definition at line 200 of file Keplerian.cpp. |
|
Return by reference the converted the Keplerian orbit representation to position and velocity vectors in the inertial frame. required to match the OrbitStateRepresentation abstract class interface.
Implements O_SESSAME::OrbitStateRepresentation. Definition at line 219 of file Keplerian.cpp. |
|
Return by reference the converted Keplerian orbit representation to position and velocity vectors in the specified frame.
Definition at line 236 of file Keplerian.cpp. |
|
Solves Kepler's Equation in order to compute eccentric anomaly (E) from mean anomaly (M) and eccentricity (e). Adapted from Appendix A, Orbits, by Christopher D. Hall. Class notes for AOE 4140. Available at http://www.aoe.vt.edu/~chall/courses/aoe4140/.
Definition at line 253 of file Keplerian.cpp. |
|
Calculates true anomaly ( ) from eccentric anomaly (E), semimajor axis (a), and eccentricity (e). Adapted from Appendix A, Orbits, by Christopher D. Hall. Class notes for AOE 4140. Available at http://www.aoe.vt.edu/~chall/courses/aoe4140/ Definition at line 287 of file Keplerian.cpp. |
|
Parses a two line element set and updates orbital elements, returns a struct of additional information. Adapted from Appendix A, Orbits, by Christopher D. Hall. Class notes for AOE 4140. Available at http://www.aoe.vt.edu/~chall/courses/aoe4140/ Sample TLEs: COSMOS 2278 1 23087U 94023A 98011.59348139 .00000348 00000-0 21464-3 0 5260 2 23087 71.0176 58.4285 0007185 172.8790 187.2435 14.12274429191907 NOAA 14 1 23455U 94089A 97320.90946019 .00000140 00000-0 10191-3 0 2621 2 23455 99.0090 272.6745 0008546 223.1686 136.8816 14.11711747148495 TLE Definition AAAAAAAAAAAAAAAAAAAAAAAA 1 NNNNNU NNNNNAAA NNNNN.NNNNNNNN +.NNNNNNNN +NNNNN-N +NNNNN-N N NNNNN 2 NNNNN NNN.NNNN NNN.NNNN NNNNNNN NNN.NNNN NNN.NNNN NN.NNNNNNNNNNNNNN Line 0 is a twenty-four character name (to be consistent with the name length in the NORAD SATCAT). Lines 1 and 2 are the standard Two-Line Orbital Element Set Format identical to that used by NORAD and NASA.
Definition at line 337 of file Keplerian.cpp. |
|
Set the vector of the representation's state vector.
Implements O_SESSAME::OrbitStateRepresentation. Definition at line 584 of file Keplerian.cpp. |
|
Return a vector of the representation's state vector.
Implements O_SESSAME::OrbitStateRepresentation. Definition at line 594 of file Keplerian.cpp. |
|
Return a vector by reference of the representation's state vector.
Definition at line 603 of file Keplerian.cpp. |
|
6x1 vector of Keplerian orbital elements [a, e, i, , , ] (km, -, rad, rad, rad, rad) Definition at line 164 of file Keplerian.h. |
|
All of the non-orbital element data that's inside of a TLE. Definition at line 167 of file Keplerian.h. |