Astro  v0.0.0
A C++ library for space dynamics
Loading...
Searching...
No Matches
Astro.hh File Reference
#include <iostream>
#include <tuple>
#include <string>
#include <cmath>
#include <Eigen/Dense>
#include "Astro/Utilities.hxx"
Include dependency graph for Astro.hh:

Go to the source code of this file.

Namespaces

namespace  Astro
 The namespace for the Astro library.
 

Macros

#define INCLUDE_ASTRO_HH
 
#define ASTRO_ERROR(MSG)
 
#define ASTRO_ASSERT(COND, MSG)
 
#define ASTRO_WARNING(MSG)
 
#define ASTRO_ASSERT_WARNING(COND, MSG)
 

Typedefs

using Astro::Real = double
 Real number type.
 
using Astro::Size = int
 Size number type.
 
using Astro::Vector0 = Eigen::Vector<Real, 0>
 \( 0 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix0 = Eigen::Matrix<Real, 0, 0>
 \( 0 \times 0 \) matrix of Real number type.
 
using Astro::Vector1 = Eigen::Vector<Real, 1>
 \( 1 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix1 = Eigen::Matrix<Real, 1, 1>
 \( 1 \times 1 \) matrix of Real number type.
 
using Astro::Vector2 = Eigen::Vector<Real, 2>
 \( 2 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix2 = Eigen::Matrix<Real, 2, 2>
 \( 2 \times 2 \) matrix of Real number type.
 
using Astro::Vector3 = Eigen::Vector<Real, 3>
 \( 3 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix3 = Eigen::Matrix<Real, 3, 3>
 \( 3 \times 3 \) matrix of Real number type.
 
using Astro::Vector4 = Eigen::Vector<Real, 4>
 \( 4 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix4 = Eigen::Matrix<Real, 4, 4>
 \( 4 \times 4 \) matrix of Real number type.
 
using Astro::Vector5 = Eigen::Vector<Real, 5>
 \( 5 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix5 = Eigen::Matrix<Real, 5, 5>
 \( 5 \times 5 \) matrix of Real number type.
 
using Astro::Vector6 = Eigen::Vector<Real, 6>
 \( 6 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix6 = Eigen::Matrix<Real, 6, 6>
 \( 6 \times 6 \) matrix of Real number type.
 
using Astro::Vector7 = Eigen::Vector<Real, 7>
 \( 7 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix7 = Eigen::Matrix<Real, 7, 7>
 \( 7 \times 7 \) matrix of Real number type.
 
using Astro::Vector8 = Eigen::Vector<Real, 8>
 \( 8 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix8 = Eigen::Matrix<Real, 8, 8>
 \( 8 \times 8 \) matrix of Real number type.
 
using Astro::Vector9 = Eigen::Vector<Real, 9>
 \( 9 \times 1 \) vector of Real number type (column vector).
 
using Astro::Matrix9 = Eigen::Matrix<Real, 9, 9>
 \( 9 \times 9 \) matrix of Real number type.
 
using Astro::VectorX = Eigen::Vector<Real, Eigen::Dynamic>
 \( N \times 1 \) vector of Real number type (column vector).
 
using Astro::MatrixX = Eigen::Matrix<Real, Eigen::Dynamic, Eigen::Dynamic>
 \( N \times N \) matrix of Real number 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::AngleAxis = Eigen::AngleAxis<Real>
 3D rotation transformation type.
 
using Astro::Affine = Eigen::Transform<Real, 3, Eigen::Affine>
 3D affine transformation type.
 

Variables

static Real const Astro::EPSILON = std::numeric_limits<Real>::epsilon()
 Machine epsilon epsilon static constant value.
 
static Real const Astro::SQRT_EPSILON = std::sqrt(EPSILON)
 Square root of machine epsilon epsilon static constant value.
 
static Real const Astro::CBRT_EPSILON = std::cbrt(EPSILON)
 Cubic root of machine epsilon epsilon static constant value.
 
static Real const Astro::EPSILON_HIGH = Real(1.0e-12)
 High precision epsilon static constant value.
 
static Real const Astro::EPSILON_MEDIUM = Real(1.0e-10)
 Medium precision epsilon static constant value.
 
static Real const Astro::EPSILON_LOW = Real(1.0e-08)
 Low precision epsilon static constant value.
 
static Real const Astro::INFTY = std::numeric_limits<Real>::infinity()
 Infinity static constant value.
 
static Real const Astro::QUIET_NAN = std::numeric_limits<Real>::quiet_NaN()
 Not-a-number static constant value.
 
static Real const Astro::PI = Real(3.141592653589793238462643383279502884197)
 Pi static constant value.
 
static Real const Astro::PIMUL2 = Real(6.283185307179586476925286766559005768394)
 The value of \( 2\pi \).
 
static Real const Astro::PIDIV2 = Real(1.570796326794896619231321691639751442098)
 The value of \( \pi/2 \).
 
static Real const Astro::DEG2RAD = Real(0.017453292519943295769236907684886127134)
 The value of \( \pi/180 \).
 
static Real const Astro::RAD2DEG = Real(57.29577951308232087679815481410517033240)
 The value of \( 180/\pi \).
 
static Vector1 const Astro::NAN_VEC1 = Vector1::Constant(QUIET_NAN)
 Not-a-number \( 1 \times 1 \) vector static constant object.
 
static Matrix1 const Astro::NAN_MAT1 = Matrix1::Constant(QUIET_NAN)
 Not-a-number \( 1 \times 1 \) matrix static constant object.
 
static Vector1 const Astro::ZEROS_VEC1 = Vector1::Zero()
 Zeros \( 1 \times 1 \) vector static constant object.
 
static Matrix1 const Astro::ZEROS_MAT1 = Matrix1::Zero()
 Zeros \( 1 \times 1 \) matrix static constant object.
 
static Vector1 const Astro::ONES_VEC1 = Vector1::Ones()
 Ones \( 1 \times 1 \) vector static constant object.
 
static Matrix1 const Astro::ONES_MAT1 = Matrix1::Ones()
 Ones \( 1 \times 1 \) matrix static constant object.
 
static Matrix1 const Astro::IDENTITY_MAT1 = Matrix1::Identity()
 Identity \( 1 \times 1 \) matrix static constant object.
 
static Vector2 const Astro::NAN_VEC2 = Vector2::Constant(QUIET_NAN)
 Not-a-number \( 2 \times 1 \) vector static constant object.
 
static Matrix2 const Astro::NAN_MAT2 = Matrix2::Constant(QUIET_NAN)
 Not-a-number \( 2 \times 2 \) matrix static constant object.
 
static Vector2 const Astro::ZEROS_VEC2 = Vector2::Zero()
 Zeros \( 2 \times 1 \) vector static constant object.
 
static Matrix2 const Astro::ZEROS_MAT2 = Matrix2::Zero()
 Zeros \( 2 \times 2 \) matrix static constant object.
 
static Vector2 const Astro::ONES_VEC2 = Vector2::Ones()
 Ones \( 2 \times 1 \) vector static constant object.
 
static Matrix2 const Astro::ONES_MAT2 = Matrix2::Ones()
 Ones \( 2 \times 2 \) matrix static constant object.
 
static Matrix2 const Astro::IDENTITY_MAT2 = Matrix2::Identity()
 Identity \( 2 \times 2 \) matrix static constant object.
 
static Vector3 const Astro::NAN_VEC3 = Vector3::Constant(QUIET_NAN)
 Not-a-number \( 3 \times 1 \) vector static constant object.
 
static Matrix3 const Astro::NAN_MAT3 = Matrix3::Constant(QUIET_NAN)
 Not-a-number \( 3 \times 3 \) matrix static constant object.
 
static Vector3 const Astro::ZEROS_VEC3 = Vector3::Zero()
 Zeros \( 3 \times 1 \) vector static constant object.
 
static Matrix3 const Astro::ZEROS_MAT3 = Matrix3::Zero()
 Zeros \( 3 \times 3 \) matrix static constant object.
 
static Vector3 const Astro::ONES_VEC3 = Vector3::Ones()
 Ones \( 3 \times 1 \) vector static constant object.
 
static Matrix3 const Astro::ONES_MAT3 = Matrix3::Ones()
 Ones \( 3 \times 3 \) matrix static constant object.
 
static Matrix3 const Astro::IDENTITY_MAT3 = Matrix3::Identity()
 Identity \( 3 \times 3 \) matrix static constant object.
 
static Vector4 const Astro::NAN_VEC4 = Vector4::Constant(QUIET_NAN)
 Not-a-number \( 4 \times 1 \) vector static constant object.
 
static Matrix4 const Astro::NAN_MAT4 = Matrix4::Constant(QUIET_NAN)
 Not-a-number \( 4 \times 4 \) matrix static constant object.
 
static Vector4 const Astro::ZEROS_VEC4 = Vector4::Zero()
 Zeros \( 4 \times 1 \) vector static constant object.
 
static Matrix4 const Astro::ZEROS_MAT4 = Matrix4::Zero()
 Zeros \( 4 \times 4 \) matrix static constant object.
 
static Vector4 const Astro::ONES_VEC4 = Vector4::Ones()
 Ones \( 4 \times 1 \) vector static constant object.
 
static Matrix4 const Astro::ONES_MAT4 = Matrix4::Ones()
 Ones \( 4 \times 4 \) matrix static constant object.
 
static Matrix4 const Astro::IDENTITY_MAT4 = Matrix4::Identity()
 Identity \( 4 \times 4 \) matrix static constant object.
 
static Vector5 const Astro::NAN_VEC5 = Vector5::Constant(QUIET_NAN)
 Not-a-number \( 5 \times 1 \) vector static constant object.
 
static Matrix5 const Astro::NAN_MAT5 = Matrix5::Constant(QUIET_NAN)
 Not-a-number \( 5 \times 5 \) matrix static constant object.
 
static Vector5 const Astro::ZEROS_VEC5 = Vector5::Zero()
 Zeros \( 5 \times 1 \) vector static constant object.
 
static Matrix5 const Astro::ZEROS_MAT5 = Matrix5::Zero()
 Zeros \( 5 \times 5 \) matrix static constant object.
 
static Vector5 const Astro::ONES_VEC5 = Vector5::Ones()
 Ones \( 5 \times 1 \) vector static constant object.
 
static Matrix5 const Astro::ONES_MAT5 = Matrix5::Ones()
 Ones \( 5 \times 5 \) matrix static constant object.
 
static Matrix5 const Astro::IDENTITY_MAT5 = Matrix5::Identity()
 Identity \( 5 \times 5 \) matrix static constant object.
 
static Vector6 const Astro::NAN_VEC6 = Vector6::Constant(QUIET_NAN)
 Not-a-number \( 6 \times 1 \) vector static constant object.
 
static Matrix6 const Astro::NAN_MAT6 = Matrix6::Constant(QUIET_NAN)
 Not-a-number \( 6 \times 6 \) matrix static constant object.
 
static Vector6 const Astro::ZEROS_VEC6 = Vector6::Zero()
 Zeros \( 6 \times 1 \) vector static constant object.
 
static Matrix6 const Astro::ZEROS_MAT6 = Matrix6::Zero()
 Zeros \( 6 \times 6 \) matrix static constant object.
 
static Vector6 const Astro::ONES_VEC6 = Vector6::Ones()
 Ones \( 6 \times 1 \) vector static constant object.
 
static Matrix6 const Astro::ONES_MAT6 = Matrix6::Ones()
 Ones \( 6 \times 6 \) matrix static constant object.
 
static Matrix6 const Astro::IDENTITY_MAT6 = Matrix6::Identity()
 Identity \( 6 \times 6 \) matrix static constant object.
 
static Vector7 const Astro::NAN_VEC7 = Vector7::Constant(QUIET_NAN)
 Not-a-number \( 7 \times 1 \) vector static constant object.
 
static Matrix7 const Astro::NAN_MAT7 = Matrix7::Constant(QUIET_NAN)
 Not-a-number \( 7 \times 7 \) matrix static constant object.
 
static Vector7 const Astro::ZEROS_VEC7 = Vector7::Zero()
 Zeros \( 7 \times 1 \) vector static constant object.
 
static Matrix7 const Astro::ZEROS_MAT7 = Matrix7::Zero()
 Zeros \( 7 \times 7 \) matrix static constant object.
 
static Vector7 const Astro::ONES_VEC7 = Vector7::Ones()
 Ones \( 7 \times 1 \) vector static constant object.
 
static Matrix7 const Astro::ONES_MAT7 = Matrix7::Ones()
 Ones \( 7 \times 7 \) matrix static constant object.
 
static Matrix7 const Astro::IDENTITY_MAT7 = Matrix7::Identity()
 Identity \( 7 \times 7 \) matrix static constant object.
 
static Vector8 const Astro::NAN_VEC8 = Vector8::Constant(QUIET_NAN)
 Not-a-number \( 8 \times 1 \) vector static constant object.
 
static Matrix8 const Astro::NAN_MAT8 = Matrix8::Constant(QUIET_NAN)
 Not-a-number \( 8 \times 8 \) matrix static constant object.
 
static Vector8 const Astro::ZEROS_VEC8 = Vector8::Zero()
 Zeros \( 8 \times 1 \) vector static constant object.
 
static Matrix8 const Astro::ZEROS_MAT8 = Matrix8::Zero()
 Zeros \( 8 \times 8 \) matrix static constant object.
 
static Vector8 const Astro::ONES_VEC8 = Vector8::Ones()
 Ones \( 8 \times 1 \) vector static constant object.
 
static Matrix8 const Astro::ONES_MAT8 = Matrix8::Ones()
 Ones \( 8 \times 8 \) matrix static constant object.
 
static Matrix8 const Astro::IDENTITY_MAT8 = Matrix8::Identity()
 Identity \( 8 \times 8 \) matrix static constant object.
 
static Vector9 const Astro::NAN_VEC9 = Vector9::Constant(QUIET_NAN)
 Not-a-number \( 9 \times 1 \) vector static constant object.
 
static Matrix9 const Astro::NAN_MAT9 = Matrix9::Constant(QUIET_NAN)
 Not-a-number \( 9 \times 9 \) matrix static constant object.
 
static Vector9 const Astro::ZEROS_VEC9 = Vector9::Zero()
 Zeros \( 9 \times 1 \) vector static constant object.
 
static Matrix9 const Astro::ZEROS_MAT9 = Matrix9::Zero()
 Zeros \( 9 \times 9 \) matrix static constant object.
 
static Vector9 const Astro::ONES_VEC9 = Vector9::Ones()
 Ones \( 9 \times 1 \) vector static constant object.
 
static Matrix9 const Astro::ONES_MAT9 = Matrix9::Ones()
 Ones \( 9 \times 9 \) matrix static constant object.
 
static Matrix9 const Astro::IDENTITY_MAT9 = Matrix9::Identity()
 Identity \( 9 \times 9 \) matrix static constant object.
 

Macro Definition Documentation

◆ ASTRO_ASSERT

#define ASTRO_ASSERT ( COND,
MSG )
Value:
if (!(COND)) \
{ \
SANDALS_ERROR(MSG); \
}

◆ ASTRO_ASSERT_WARNING

#define ASTRO_ASSERT_WARNING ( COND,
MSG )
Value:
if (!(COND)) \
{ \
ASTRO_WARNING(MSG); \
}

◆ ASTRO_ERROR

#define ASTRO_ERROR ( MSG)
Value:
{ \
std::ostringstream os; \
os << MSG; \
throw std::runtime_error(os.str()); \
}

◆ ASTRO_WARNING

#define ASTRO_WARNING ( MSG)
Value:
{ \
std::cout << MSG << std::endl; \
}

◆ INCLUDE_ASTRO_HH

#define INCLUDE_ASTRO_HH