Namespace astrea::astro::frames¶
Namespace List > astrea > astro > frames
Namespaces¶
| Type | Name |
|---|---|
| namespace | callisto |
| namespace | deimos |
| namespace | dynamic |
| namespace | earth |
| namespace | earth_barycenter |
| namespace | europa |
| namespace | ganymede |
| namespace | iapetus |
| namespace | io |
| namespace | jupiter |
| namespace | jupiter_barycenter |
| namespace | mars |
| namespace | mars_barycenter |
| namespace | mercury |
| namespace | mercury_barycenter |
| namespace | moon |
| namespace | neptune |
| namespace | neptune_barycenter |
| namespace | oberon |
| namespace | phobos |
| namespace | rhea |
| namespace | saturn |
| namespace | saturn_barycenter |
| namespace | solar_system_barycenter |
| namespace | sun |
| namespace | titan |
| namespace | titania |
| namespace | triton |
| namespace | uranus |
| namespace | uranus_barycenter |
| namespace | venus |
| namespace | venus_barycenter |
Classes¶
| Type | Name |
|---|---|
| class | EastNorthUp Class representing the East, North, Up (ENU) frame. |
| class | LocalHorizontalLocalVertical Class representing the Local Horizontal, Local Vertical (LVLH) frame. |
| class | RadialInTrackCrossTrack Class representing the Radial, In-Track, Cross-Track (RIC) frame. |
| class | VelocityNormalBinormal Class representing the Velocity, Normal, Binormal (VNB) frame. |
Public Functions¶
| Type | Name |
|---|---|
| Frame_T | get_center_offset (const Date & date) |
| requires (HasSameOrigin< Frame_T, Frame_U >) Get the center offset between two frames at a given date. |
|
| requires (!HasSameOrigin< Frame_T, Frame_U > &&HasSameAxis< Frame_T, Frame_U >) Get the center offset between two frames at a given date. |
|
| CartesianVector< Value_T, Frame_U > | rotate_vector_into_frame (const CartesianVector< Value_T, Frame_T > & vec, const Date & date) Rotate a vector from one frame to another at a given date using the Direction Cosine Matrix (DCM). |
Public Functions Documentation¶
function get_center_offset¶
function requires¶
Get the center offset between two frames at a given date.
template<typename Frame_T, typename Frame_U>
astrea::astro::frames::requires (
HasSameOrigin< Frame_T, Frame_U >
)
If the frames share the same origin, the offset is zero. If the frames share the same axis but have different origins, the offset is the relative position between the two origins in Frame_T. All calculations are done in the solar_system_barycenter::icrf frame.
Template parameters:
Frame_TThe first frame type.Frame_UThe second frame type.
Parameters:
dateThe date at which to calculate the offset.
Returns:
CartesianVector<Distance, Frame_T> The offset vector from Frame_T to Frame_U expressed in Frame_T.
function requires¶
Get the center offset between two frames at a given date.
template<typename Frame_T, typename Frame_U>
astrea::astro::frames::requires (
!HasSameOrigin< Frame_T, Frame_U > &&HasSameAxis< Frame_T, Frame_U >
)
If the frames share the same origin, the offset is zero. If the frames share the same axis but have different origins, the offset is the relative position between the two origins in Frame_T. All calculations are done in the solar_system_barycenter::icrf frame.
Template parameters:
Frame_TThe first frame type.Frame_UThe second frame type.
Parameters:
dateThe date at which to calculate the offset.
Returns:
CartesianVector<Distance, Frame_T> The offset vector from Frame_T to Frame_U expressed in Frame_T.
function rotate_vector_into_frame¶
Rotate a vector from one frame to another at a given date using the Direction Cosine Matrix (DCM).
template<typename Value_T, typename Frame_T, typename Frame_U>
CartesianVector < Value_T, Frame_U > astrea::astro::frames::rotate_vector_into_frame (
const CartesianVector < Value_T, Frame_T > & vec,
const Date & date
)
Template parameters:
Value_TThe type of the vector components (e.g., Distance, Velocity).Frame_TThe source frame type.Frame_UThe target frame type.
Parameters:
vecThe vector to rotate.dateThe date at which to perform the rotation.
Returns:
CartesianVector<Value_T, Frame_U> A new CartesianVector in the target frame.
Exception:
std::runtime_errorIf the frames do not share the same origin or if the DCM cannot be obtained.
Note:
This function multiplies the vector by the DCM and does NOT return a vector with respect to the new frame. It is the user's responsibility to understand if this makes sense or not.
The documentation for this class was generated from the following file astrea/astro/astro/frames/instances/body_centered_inertial_frames.hpp