Astro
0.0.0
A C++ library for space dynamics
|
The namespace for the Astro library. More...
Namespaces | |
namespace | OrbitalElements |
The namespace for the orbital elements definition and conversion. | |
Classes | |
class | Body |
Astronomical body class container. More... | |
class | Orbit |
Orbit class container. More... | |
Typedefs | |
using | Real = double |
using | Integer = int |
using | Vector0 = Eigen::Vector<Real, 0> |
using | Matrix0 = Eigen::Matrix<Real, 0, 0> |
using | Vector1 = Eigen::Vector<Real, 1> |
using | Matrix1 = Eigen::Matrix<Real, 1, 1> |
using | Vector2 = Eigen::Vector<Real, 2> |
using | Matrix2 = Eigen::Matrix<Real, 2, 2> |
using | Vector3 = Eigen::Vector<Real, 3> |
using | Matrix3 = Eigen::Matrix<Real, 3, 3> |
using | Vector4 = Eigen::Vector<Real, 4> |
using | Matrix4 = Eigen::Matrix<Real, 4, 4> |
using | Vector5 = Eigen::Vector<Real, 5> |
using | Matrix5 = Eigen::Matrix<Real, 5, 5> |
using | Vector6 = Eigen::Vector<Real, 6> |
using | Matrix6 = Eigen::Matrix<Real, 6, 6> |
using | Vector7 = Eigen::Vector<Real, 7> |
using | Matrix7 = Eigen::Matrix<Real, 7, 7> |
using | Vector8 = Eigen::Vector<Real, 8> |
using | Matrix8 = Eigen::Matrix<Real, 8, 8> |
using | Vector9 = Eigen::Vector<Real, 9> |
using | Matrix9 = Eigen::Matrix<Real, 9, 9> |
using | VectorX = Eigen::Vector<Real, Eigen::Dynamic> |
using | MatrixX = Eigen::Matrix<Real, Eigen::Dynamic, Eigen::Dynamic> |
using | Rotation = Eigen::Matrix<Real, 3, 3> |
using | Quaternion = Eigen::Quaternion<Real> |
using | Scale = Eigen::DiagonalMatrix<Real, 3> |
using | Translate = Eigen::Translation<Real, 3> |
using | AngleAxis = Eigen::AngleAxis<Real> |
using | Affine = Eigen::Transform<Real, 3, Eigen::Affine> |
using | Factor |
using | Type |
Functions | |
std::string | Info () |
void | Info (std::ostream &os) |
Real | power2 (Real x) |
Real | power3 (Real x) |
Real | power4 (Real x) |
Real | deg_to_rad (Real x) |
Real | rad_to_deg (Real x) |
Real | angle_in_range (Real x) |
Real | angle_in_range_sym (Real x) |
Real | AU_to_KM (Real x) |
Real | AU_by_DAY_to_km_by_s (Real x) |
Real | AU_by_DAY2_to_km_by_s2 (Real x) |
Real | AU_by_DAY3_to_km_by_s3 (Real x) |
Variables | |
static Real const | EPSILON = std::numeric_limits<Real>::epsilon() |
static Real const | SQRT_EPSILON = std::sqrt(EPSILON) |
static Real const | CBRT_EPSILON = std::cbrt(EPSILON) |
static Real const | EPSILON_HIGH = Real(1.0e-12) |
static Real const | EPSILON_MEDIUM = Real(1.0e-10) |
static Real const | EPSILON_LOW = Real(1.0e-08) |
static Real const | INFTY = std::numeric_limits<Real>::infinity() |
static Real const | QUIET_NAN = std::numeric_limits<Real>::quiet_NaN() |
static Vector1 const | NAN_VEC1 = Vector1::Constant(QUIET_NAN) |
static Matrix1 const | NAN_MAT1 = Matrix1::Constant(QUIET_NAN) |
static Vector1 const | ZEROS_VEC1 = Vector1::Zero() |
static Matrix1 const | ZEROS_MAT1 = Matrix1::Zero() |
static Vector1 const | ONES_VEC1 = Vector1::Ones() |
static Matrix1 const | ONES_MAT1 = Matrix1::Ones() |
static Matrix1 const | IDENTITY_MAT1 = Matrix1::Identity() |
static Vector2 const | NAN_VEC2 = Vector2::Constant(QUIET_NAN) |
static Matrix2 const | NAN_MAT2 = Matrix2::Constant(QUIET_NAN) |
static Vector2 const | ZEROS_VEC2 = Vector2::Zero() |
static Matrix2 const | ZEROS_MAT2 = Matrix2::Zero() |
static Vector2 const | ONES_VEC2 = Vector2::Ones() |
static Matrix2 const | ONES_MAT2 = Matrix2::Ones() |
static Matrix2 const | IDENTITY_MAT2 = Matrix2::Identity() |
static Vector3 const | NAN_VEC3 = Vector3::Constant(QUIET_NAN) |
static Matrix3 const | NAN_MAT3 = Matrix3::Constant(QUIET_NAN) |
static Vector3 const | ZEROS_VEC3 = Vector3::Zero() |
static Matrix3 const | ZEROS_MAT3 = Matrix3::Zero() |
static Vector3 const | ONES_VEC3 = Vector3::Ones() |
static Matrix3 const | ONES_MAT3 = Matrix3::Ones() |
static Matrix3 const | IDENTITY_MAT3 = Matrix3::Identity() |
static Vector4 const | NAN_VEC4 = Vector4::Constant(QUIET_NAN) |
static Matrix4 const | NAN_MAT4 = Matrix4::Constant(QUIET_NAN) |
static Vector4 const | ZEROS_VEC4 = Vector4::Zero() |
static Matrix4 const | ZEROS_MAT4 = Matrix4::Zero() |
static Vector4 const | ONES_VEC4 = Vector4::Ones() |
static Matrix4 const | ONES_MAT4 = Matrix4::Ones() |
static Matrix4 const | IDENTITY_MAT4 = Matrix4::Identity() |
static Vector5 const | NAN_VEC5 = Vector5::Constant(QUIET_NAN) |
static Matrix5 const | NAN_MAT5 = Matrix5::Constant(QUIET_NAN) |
static Vector5 const | ZEROS_VEC5 = Vector5::Zero() |
static Matrix5 const | ZEROS_MAT5 = Matrix5::Zero() |
static Vector5 const | ONES_VEC5 = Vector5::Ones() |
static Matrix5 const | ONES_MAT5 = Matrix5::Ones() |
static Matrix5 const | IDENTITY_MAT5 = Matrix5::Identity() |
static Vector6 const | NAN_VEC6 = Vector6::Constant(QUIET_NAN) |
static Matrix6 const | NAN_MAT6 = Matrix6::Constant(QUIET_NAN) |
static Vector6 const | ZEROS_VEC6 = Vector6::Zero() |
static Matrix6 const | ZEROS_MAT6 = Matrix6::Zero() |
static Vector6 const | ONES_VEC6 = Vector6::Ones() |
static Matrix6 const | ONES_MAT6 = Matrix6::Ones() |
static Matrix6 const | IDENTITY_MAT6 = Matrix6::Identity() |
static Vector7 const | NAN_VEC7 = Vector7::Constant(QUIET_NAN) |
static Matrix7 const | NAN_MAT7 = Matrix7::Constant(QUIET_NAN) |
static Vector7 const | ZEROS_VEC7 = Vector7::Zero() |
static Matrix7 const | ZEROS_MAT7 = Matrix7::Zero() |
static Vector7 const | ONES_VEC7 = Vector7::Ones() |
static Matrix7 const | ONES_MAT7 = Matrix7::Ones() |
static Matrix7 const | IDENTITY_MAT7 = Matrix7::Identity() |
static Vector8 const | NAN_VEC8 = Vector8::Constant(QUIET_NAN) |
static Matrix8 const | NAN_MAT8 = Matrix8::Constant(QUIET_NAN) |
static Vector8 const | ZEROS_VEC8 = Vector8::Zero() |
static Matrix8 const | ZEROS_MAT8 = Matrix8::Zero() |
static Vector8 const | ONES_VEC8 = Vector8::Ones() |
static Matrix8 const | ONES_MAT8 = Matrix8::Ones() |
static Matrix8 const | IDENTITY_MAT8 = Matrix8::Identity() |
static Vector9 const | NAN_VEC9 = Vector9::Constant(QUIET_NAN) |
static Matrix9 const | NAN_MAT9 = Matrix9::Constant(QUIET_NAN) |
static Vector9 const | ZEROS_VEC9 = Vector9::Zero() |
static Matrix9 const | ZEROS_MAT9 = Matrix9::Zero() |
static Vector9 const | ONES_VEC9 = Vector9::Ones() |
static Matrix9 const | ONES_MAT9 = Matrix9::Ones() |
static Matrix9 const | IDENTITY_MAT9 = Matrix9::Identity() |
static Real const | PI = Real(3.141592653589793238462643383279502884197) |
static Real const | PIMUL2 = Real(6.283185307179586476925286766559005768394) |
static Real const | PIDIV2 = Real(1.570796326794896619231321691639751442098) |
static Real const | DEG2RAD = Real(0.017453292519943295769236907684886127134) |
static Real const | RAD2DEG = Real(57.29577951308232087679815481410517033240) |
static Real const | AU_TO_KM {1.49597870707e+08} |
static Real const | PC_TO_AU {6.48e+05/PI} |
static Real const | AU_TO_PC {1.0/PC_TO_AU} |
static Real const | KM_TO_PC {1.0/PC_TO_KM} |
static Real const | KM_TO_LY {1.0/LY_TO_KM} |
static Real const | AU_TO_LY {1.0/LY_TO_AU} |
static Real const | KM_TO_M {1000.0} |
static Real const | AU_TO_M {AU_TO_KM*KM_TO_M} |
static Real const | PC_TO_M {LY_TO_KM*KM_TO_M} |
static Real const | M_TO_LY {LY_TO_KM*KM_TO_M} |
static Real const | DAY_TO_SEC {86400.0} |
static Real const | KG_M_SEC2_TO_KG_AU_DAY2 {M_TO_AU/(SEC_TO_DAY*SEC_TO_DAY)} |
static Real const | gravity_kg_m_s2 {9.80665} |
static Real const | gravity_kg_AU_DAY2 {gravity_kg_m_s2*KG_M_SEC2_TO_KG_AU_DAY2} |
static Real const | muSun_km3s2 {1.32712440018E11} |
static Real const | muSun_AU3DAY2 {muSun_km3s2*(KM_TO_AU*KM_TO_AU*KM_TO_AU)/(SEC_TO_DAY*SEC_TO_DAY)} |
The namespace contains all the classes and functions of the Astro library.
using Astro::Affine = Eigen::Transform<Real, 3, Eigen::Affine> |
3D affine transformation type.
using Astro::AngleAxis = Eigen::AngleAxis<Real> |
3D rotation transformation type.
using Astro::Factor |
Orbit posigrade/retrograte factor.
using Astro::Integer = int |
Size number type.
using Astro::Matrix0 = Eigen::Matrix<Real, 0, 0> |
\( 0 \times 0 \) matrix of Real number type.
using Astro::Matrix1 = Eigen::Matrix<Real, 1, 1> |
\( 1 \times 1 \) matrix of Real number type.
using Astro::Matrix2 = Eigen::Matrix<Real, 2, 2> |
\( 2 \times 2 \) matrix of Real number type.
using Astro::Matrix3 = Eigen::Matrix<Real, 3, 3> |
\( 3 \times 3 \) matrix of Real number type.
using Astro::Matrix4 = Eigen::Matrix<Real, 4, 4> |
\( 4 \times 4 \) matrix of Real number type.
using Astro::Matrix5 = Eigen::Matrix<Real, 5, 5> |
\( 5 \times 5 \) matrix of Real number type.
using Astro::Matrix6 = Eigen::Matrix<Real, 6, 6> |
\( 6 \times 6 \) matrix of Real number type.
using Astro::Matrix7 = Eigen::Matrix<Real, 7, 7> |
\( 7 \times 7 \) matrix of Real number type.
using Astro::Matrix8 = Eigen::Matrix<Real, 8, 8> |
\( 8 \times 8 \) matrix of Real number type.
using Astro::Matrix9 = Eigen::Matrix<Real, 9, 9> |
\( 9 \times 9 \) matrix of Real number type.
using Astro::MatrixX = Eigen::Matrix<Real, Eigen::Dynamic, Eigen::Dynamic> |
\( N \times N \) matrix of Real number type.
using Astro::Quaternion = Eigen::Quaternion<Real> |
3D quaternion type.
using Astro::Real = double |
Real number type.
using Astro::Rotation = Eigen::Matrix<Real, 3, 3> |
3D rotation matrix type.
using Astro::Scale = Eigen::DiagonalMatrix<Real, 3> |
3D scaling transformation type.
using Astro::Translate = Eigen::Translation<Real, 3> |
3D translation transformation type.
using Astro::Type |
Orbit type.
using Astro::Vector0 = Eigen::Vector<Real, 0> |
\( 0 \times 1 \) vector of Real number type (column vector).
using Astro::Vector1 = Eigen::Vector<Real, 1> |
\( 1 \times 1 \) vector of Real number type (column vector).
using Astro::Vector2 = Eigen::Vector<Real, 2> |
\( 2 \times 1 \) vector of Real number type (column vector).
using Astro::Vector3 = Eigen::Vector<Real, 3> |
\( 3 \times 1 \) vector of Real number type (column vector).
using Astro::Vector4 = Eigen::Vector<Real, 4> |
\( 4 \times 1 \) vector of Real number type (column vector).
using Astro::Vector5 = Eigen::Vector<Real, 5> |
\( 5 \times 1 \) vector of Real number type (column vector).
using Astro::Vector6 = Eigen::Vector<Real, 6> |
\( 6 \times 1 \) vector of Real number type (column vector).
using Astro::Vector7 = Eigen::Vector<Real, 7> |
\( 7 \times 1 \) vector of Real number type (column vector).
using Astro::Vector8 = Eigen::Vector<Real, 8> |
\( 8 \times 1 \) vector of Real number type (column vector).
using Astro::Vector9 = Eigen::Vector<Real, 9> |
\( 9 \times 1 \) vector of Real number type (column vector).
using Astro::VectorX = Eigen::Vector<Real, Eigen::Dynamic> |
\( N \times 1 \) vector of Real number type (column vector).
Add or remove multiple of \( 2\pi \) to an angle in order to clamp it in the range \( [0, 2\pi] \).
[in] | x | Angle to be normalized. |
Add or remove multiple of \( 2\pi \) to an angle in order to clamp it in the range \( [-\pi, \pi] \).
[in] | x | Angle to be normalized. |
Convert an angle in degrees to radiants using the formula \( \text{rad} = \pi/180 \text{deg} \).
[in] | x | Angle in degrees. |
std::string Astro::Info | ( | ) |
void Astro::Info | ( | std::ostream & | os | ) |
Print Astro library information on a stream.
[in] | os | Output stream. |
Compute the square of a number.
[in] | x | Number to be squared. |
Compute the cube of a number.
[in] | x | Number to be cubed. |
Compute the fourth power of a number.
[in] | x | Number to be raised to the fourth power. |
Convert an angle in radiants to degrees using the formula \( \text{deg} = 180/\pi\text{rad} \).
[in] | x | Angle in radiants. |
|
static |
One astronomical unit in kilometers /f$ 1 \text{AU} = 1.49597870707 \times 10^8 \text{km} \(. */ static Real const LY_TO_KM{9.4607304725808e+12}; /**< One light year in meters /f$ 1 \text{ly} = 9.4607304725808 \times 10^{12} \text{km} \).
|
static |
One astronomical unit in light years /f$ 1 \text{AU} = 1.49597870707 \times 10^{-8} \text{ly} \(. */ static Real const KM_TO_AU{1.0/AU_TO_KM}; /**< One kilometer in astronomical units /f$ 1 \text{km} = 1.49597870707 \times 10^{-8} \text{AU} \).
One astronomical unit in meters /f$ 1 \text{AU} = 1.49597870707 \times 10^8 \times 1000 \text{m} \(. */ static Real const LY_TO_M{LY_TO_KM*KM_TO_M}; /**< One light year in meters /f$ 1 \text{ly} = 9.4607304725808 \times 10^{12} \times 1000 \text{m} \).
One astronomical unit in parsecs /f$ 1 \text{AU} = \pi/648000 \text{pc} \(. */ static Real const LY_TO_PC{1.0/PC_TO_AU}; /**< One light year in parsecs /f$ 1 \text{ly} = \pi/648000 \text{pc} \).
Cubic root of machine epsilon epsilon static constant value.
|
static |
One day in seconds /f$ 1 \text{day} = 86400 \text{s} \(. */ static Real const SEC_TO_DAY{1.0/DAY_TO_SEC}; /**< One second in days /f$ 1 \text{s} = 86400 \times 10^{-1} \text{day} \).
The value of \( \pi/180 \).
Machine epsilon epsilon static constant value.
Medium precision epsilon static constant value.
|
static |
|
static |
|
static |
Identity \( 1 \times 1 \) matrix static constant object.
|
static |
Identity \( 2 \times 2 \) matrix static constant object.
|
static |
Identity \( 3 \times 3 \) matrix static constant object.
|
static |
Identity \( 4 \times 4 \) matrix static constant object.
|
static |
Identity \( 5 \times 5 \) matrix static constant object.
|
static |
Identity \( 6 \times 6 \) matrix static constant object.
|
static |
Identity \( 7 \times 7 \) matrix static constant object.
|
static |
Identity \( 8 \times 8 \) matrix static constant object.
|
static |
Identity \( 9 \times 9 \) matrix static constant object.
Infinity static constant value.
|
static |
|
static |
One kilometer in light years /f$ 1 \text{km} = 1.0570008340246 \times 10^{-13} \text{ly} \(. */ static Real const LY_TO_AU{LY_TO_KM/AU_TO_KM}; /**< One light year in astronomical units /f$ 1 \text{ly} = 9.4607304725808 \times 10^{12} \text{km} \).
|
static |
One kilometer in meters /f$ 1 \text{km} = 1000 \text{m} \(. */ static Real const M_TO_KM{1.0/KM_TO_M}; /**< One meter in kilometers /f$ 1 \text{m} = 10^{-3} \text{km} \).
|
static |
One kilometer in parsecs /f$ 1 \text{km} = 1.0/648000/\pi \text{pc} \(. */ static Real const PC_TO_LY{1.0/LY_TO_PC}; /**< One parsec in light years /f$ 1 \text{pc} = 648000/\pi \times 1.49597870707 \times 10^{-8} \text{ly} \).
One meter in light years /f$ 1 \text{m} = 1.0570008340246 \times 10^{-13} \text{ly} \(. */ static Real const M_TO_AU{LY_TO_KM*KM_TO_M}; /**< One meter in astronomical units /f$ 1 \text{m} = 1.49597870707 \times 10^{-8} \text{AU} \).
|
static |
|
static |
Not-a-number \( 1 \times 1 \) matrix static constant object.
Not-a-number \( 2 \times 2 \) matrix static constant object.
Not-a-number \( 3 \times 3 \) matrix static constant object.
Not-a-number \( 4 \times 4 \) matrix static constant object.
Not-a-number \( 5 \times 5 \) matrix static constant object.
Not-a-number \( 6 \times 6 \) matrix static constant object.
Not-a-number \( 7 \times 7 \) matrix static constant object.
Not-a-number \( 8 \times 8 \) matrix static constant object.
Not-a-number \( 9 \times 9 \) matrix static constant object.
Not-a-number \( 1 \times 1 \) vector static constant object.
Not-a-number \( 2 \times 1 \) vector static constant object.
Not-a-number \( 3 \times 1 \) vector static constant object.
Not-a-number \( 4 \times 1 \) vector static constant object.
Not-a-number \( 5 \times 1 \) vector static constant object.
Not-a-number \( 6 \times 1 \) vector static constant object.
Not-a-number \( 7 \times 1 \) vector static constant object.
Not-a-number \( 8 \times 1 \) vector static constant object.
Not-a-number \( 9 \times 1 \) vector static constant object.
|
static |
Ones \( 1 \times 1 \) matrix static constant object.
|
static |
Ones \( 2 \times 2 \) matrix static constant object.
|
static |
Ones \( 3 \times 3 \) matrix static constant object.
|
static |
Ones \( 4 \times 4 \) matrix static constant object.
|
static |
Ones \( 5 \times 5 \) matrix static constant object.
|
static |
Ones \( 6 \times 6 \) matrix static constant object.
|
static |
Ones \( 7 \times 7 \) matrix static constant object.
|
static |
Ones \( 8 \times 8 \) matrix static constant object.
|
static |
Ones \( 9 \times 9 \) matrix static constant object.
|
static |
Ones \( 1 \times 1 \) vector static constant object.
|
static |
Ones \( 2 \times 1 \) vector static constant object.
|
static |
Ones \( 3 \times 1 \) vector static constant object.
|
static |
Ones \( 4 \times 1 \) vector static constant object.
|
static |
Ones \( 5 \times 1 \) vector static constant object.
|
static |
Ones \( 6 \times 1 \) vector static constant object.
|
static |
Ones \( 7 \times 1 \) vector static constant object.
|
static |
Ones \( 8 \times 1 \) vector static constant object.
|
static |
Ones \( 9 \times 1 \) vector static constant object.
One parsec in astronomical units /f$ 1 \text{pc} = 648000/\pi \text{AU} \(. */ static Real const PC_TO_KM{PC_TO_AU*AU_TO_KM}; /**< One parsec in kilometers /f$ 1 \text{pc} = 648000/\pi \times 1.49597870707 \times 10^{8} \text{km} \).
One parsec in meters /f$ 1 \text{pc} = 648000/\pi \times 1.49597870707 \times 10^{8} \times 1000 \text{m} \(. */ static Real const M_TO_PC{LY_TO_KM*KM_TO_M}; /**< One meter in parsecs /f$ 1 \text{m} = 1.0/648000/\pi \times 1.49597870707 \times 10^{8} \text{pc} \).
Pi static constant value.
The value of \( \pi/2 \).
The value of \( 2\pi \).
Not-a-number static constant value.
The value of \( 180/\pi \).
Square root of machine epsilon epsilon static constant value.
|
static |
Zeros \( 1 \times 1 \) matrix static constant object.
|
static |
Zeros \( 2 \times 2 \) matrix static constant object.
|
static |
Zeros \( 3 \times 3 \) matrix static constant object.
|
static |
Zeros \( 4 \times 4 \) matrix static constant object.
|
static |
Zeros \( 5 \times 5 \) matrix static constant object.
|
static |
Zeros \( 6 \times 6 \) matrix static constant object.
|
static |
Zeros \( 7 \times 7 \) matrix static constant object.
|
static |
Zeros \( 8 \times 8 \) matrix static constant object.
|
static |
Zeros \( 9 \times 9 \) matrix static constant object.
|
static |
Zeros \( 1 \times 1 \) vector static constant object.
|
static |
Zeros \( 2 \times 1 \) vector static constant object.
|
static |
Zeros \( 3 \times 1 \) vector static constant object.
|
static |
Zeros \( 4 \times 1 \) vector static constant object.
|
static |
Zeros \( 5 \times 1 \) vector static constant object.
|
static |
Zeros \( 6 \times 1 \) vector static constant object.
|
static |
Zeros \( 7 \times 1 \) vector static constant object.
|
static |
Zeros \( 8 \times 1 \) vector static constant object.
|
static |
Zeros \( 9 \times 1 \) vector static constant object.