|
WSF
|
#include <WsfLibrationPoint.hpp>
Public Types | |
| enum class | System { cSUN_EARTH , cEARTH_MOON , cSUN_JUPITER , cUNKNOWN } |
| The supported primary-secondary body pairs. More... | |
| enum class | Point { cL1 , cL2 , cL3 , cL4 , cL5 , cUNKNOWN } |
| Identifiers for the five libration points. More... | |
Public Member Functions | |
| LibrationPoint (System aSystem) | |
| ~LibrationPoint ()=default | |
| System | GetSystem () const |
| Return the system for which this object was created. | |
| UtVec3d | GetPositionECI (Point aPoint, const UtCalendar &aEpoch) const |
| UtVec3d | GetVelocityECI (Point aPoint, const UtCalendar &aEpoch) const |
| UtVec3d | TransformPositionECItoRF (const UtCalendar &aEpoch, const UtVec3d &aPositionECI) const |
| UtVec3d | TransformPositionRFtoECI (const UtCalendar &aEpoch, const UtVec3d &aPositionRF) const |
| UtVec3d | TransformVelocityECItoRF (const UtCalendar &aEpoch, const UtVec3d &aPositionECI, const UtVec3d &aVelocityECI) const |
| UtVec3d | TransformVelocityRFtoECI (const UtCalendar &aEpoch, const UtVec3d &aPositionRF, const UtVec3d &aVelocityRF) const |
| double | GetSystemPeriod () const |
Static Public Member Functions | |
| static System | GetSystemFromIdentifier (const std::string &aIdentifier) |
| static std::string | GetIdentifierFromSystem (System aSystem) |
| static std::vector< std::string > | GetSystemIdentifiers () |
| static Point | GetPointFromIdentifier (const std::string &aIdentifier) |
| static std::string | GetIdentifierFromPoint (Point aPoint) |
| static std::vector< std::string > | GetPointIdentifiers () |
| static bool | ValidLibrationPoint (System aSystem, Point aPoint) |
This class provides computation for the libration points of a system.
This class uses two reference frames: the AFSIM standard ECI frame, and the rotating frame (RF). The rotating frame has its origin at the primary body, an x-axis pointing toward the secondary body, a z-axis normal to the plane of the orbit in the direction of the orbital angular momentum, and a y-axis that completes the right-handed triple.
|
strong |
|
strong |
|
explicit |
|
default |
|
static |
|
static |
References cEARTH_MOON, cSUN_EARTH, cSUN_JUPITER, and cUNKNOWN.
Referenced by GetSystemIdentifiers().
|
static |
|
static |
| UtVec3d wsf::space::LibrationPoint::GetPositionECI | ( | Point | aPoint, |
| const UtCalendar & | aEpoch ) const |
Get the ECI position of a libration point.
Returns the position of the given aPoint at the given aEpoch in ECI coordinates.
| aPoint | - Identifier for which point's position is needed. |
| aEpoch | - The date and time at which the point's position is needed. |
|
inline |
Return the system for which this object was created.
|
static |
References cEARTH_MOON, cSUN_EARTH, cSUN_JUPITER, and cUNKNOWN.
Referenced by wsf::space::TargetPointOptions::ProcessInput().
|
static |
References cEARTH_MOON, cSUN_EARTH, cSUN_JUPITER, and GetIdentifierFromSystem().
| double wsf::space::LibrationPoint::GetSystemPeriod | ( | ) | const |
References cEARTH_MOON, cSUN_EARTH, cSUN_JUPITER, and cUNKNOWN.
| UtVec3d wsf::space::LibrationPoint::GetVelocityECI | ( | Point | aPoint, |
| const UtCalendar & | aEpoch ) const |
Get the ECI velocity of a libration point.
Returns the velocity of the given aPoint at the given aEpoch in ECI coordinates.
| aPoint | - Identifier for which point's velocity is needed. |
| aEpoch | - The date and time at which the point's velocity is needed. |
| UtVec3d wsf::space::LibrationPoint::TransformPositionECItoRF | ( | const UtCalendar & | aEpoch, |
| const UtVec3d & | aPositionECI ) const |
Transform a position into the rotating frame.
This will transform the given aPositionECI into the rotating frame for the system at the given aEpoch.
| aEpoch | - The epoch at which to perform the transformation. |
| aPositionECI | - The ECI position to transform into the rotating frame. |
| UtVec3d wsf::space::LibrationPoint::TransformPositionRFtoECI | ( | const UtCalendar & | aEpoch, |
| const UtVec3d & | aPositionRF ) const |
Transform a position from the rotating frame.
This will transform the given aPositionRF into the ECI frame. The provided aPositionRF is taken to be valid at the given aEpoch.
| aEpoch | - The epoch at which to perform the transformation. |
| aPositionRF | - The RF position to transform into the ECI frame. |
| UtVec3d wsf::space::LibrationPoint::TransformVelocityECItoRF | ( | const UtCalendar & | aEpoch, |
| const UtVec3d & | aPositionECI, | ||
| const UtVec3d & | aVelocityECI ) const |
Transform a velocity into the rotating frame.
This will transform the given aVelocityECI, taken to be for an object at the given aPositionECI, and at the given aEpoch, into the rotating frame.
| aEpoch | - The epoch at which to perform the transformation. |
| aPositionECI | - The ECI position of the object for which the given aVelocityECI applies. |
| aVelocityECI | - The ECI velocity to transform. |
| UtVec3d wsf::space::LibrationPoint::TransformVelocityRFtoECI | ( | const UtCalendar & | aEpoch, |
| const UtVec3d & | aPositionRF, | ||
| const UtVec3d & | aVelocityRF ) const |
Transform a velocity from the rotating frame.
This will transform the given aVelocityRF, taken to be for an object at the given aPositionRF, and at the given aEpoch, into the ECI frame.
| aEpoch | - The epoch at which to perform the transformation. |
| aPositionRF | - The RF position of the object for which the given aVelocityRF applies. |
| aVelocityRF | - The RF velocity to transform. |
References cEARTH_MOON, cL1, cL2, cL3, cL4, cL5, cSUN_EARTH, cSUN_JUPITER, and cUNKNOWN.
Referenced by wsf::space::TargetPointOptions::IsValid(), wsf::space::TargetPointOptions::SetLibrationPoint(), UT_DEFINE_SCRIPT_METHOD(), and wsf::space::TargetPointOptions::ValidateParameterRanges().