Astro  0.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 <Eigen/Geometry>
#include <Optimist.hh>
#include <Sandals.hh>
#include "Astro/Utilities.hxx"
#include "Astro/OrbitalElements.hxx"
#include "Astro/Orbit.hxx"
#include "Astro/Body.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
 
using Astro::Integer = int
 
using Astro::Vector0 = Eigen::Vector<Real, 0>
 
using Astro::Matrix0 = Eigen::Matrix<Real, 0, 0>
 
using Astro::Vector1 = Eigen::Vector<Real, 1>
 
using Astro::Matrix1 = Eigen::Matrix<Real, 1, 1>
 
using Astro::Vector2 = Eigen::Vector<Real, 2>
 
using Astro::Matrix2 = Eigen::Matrix<Real, 2, 2>
 
using Astro::Vector3 = Eigen::Vector<Real, 3>
 
using Astro::Matrix3 = Eigen::Matrix<Real, 3, 3>
 
using Astro::Vector4 = Eigen::Vector<Real, 4>
 
using Astro::Matrix4 = Eigen::Matrix<Real, 4, 4>
 
using Astro::Vector5 = Eigen::Vector<Real, 5>
 
using Astro::Matrix5 = Eigen::Matrix<Real, 5, 5>
 
using Astro::Vector6 = Eigen::Vector<Real, 6>
 
using Astro::Matrix6 = Eigen::Matrix<Real, 6, 6>
 
using Astro::Vector7 = Eigen::Vector<Real, 7>
 
using Astro::Matrix7 = Eigen::Matrix<Real, 7, 7>
 
using Astro::Vector8 = Eigen::Vector<Real, 8>
 
using Astro::Matrix8 = Eigen::Matrix<Real, 8, 8>
 
using Astro::Vector9 = Eigen::Vector<Real, 9>
 
using Astro::Matrix9 = Eigen::Matrix<Real, 9, 9>
 
using Astro::VectorX = Eigen::Vector<Real, Eigen::Dynamic>
 
using Astro::MatrixX = Eigen::Matrix<Real, Eigen::Dynamic, Eigen::Dynamic>
 
using Astro::Rotation = Eigen::Matrix<Real, 3, 3>
 
using Astro::Quaternion = Eigen::Quaternion<Real>
 
using Astro::Scale = Eigen::DiagonalMatrix<Real, 3>
 
using Astro::Translate = Eigen::Translation<Real, 3>
 
using Astro::AngleAxis = Eigen::AngleAxis<Real>
 
using Astro::Affine = Eigen::Transform<Real, 3, Eigen::Affine>
 

Functions

std::string Astro::Info ()
 
void Astro::Info (std::ostream &os)
 

Variables

static Real const Astro::EPSILON = std::numeric_limits<Real>::epsilon()
 
static Real const Astro::SQRT_EPSILON = std::sqrt(EPSILON)
 
static Real const Astro::CBRT_EPSILON = std::cbrt(EPSILON)
 
static Real const Astro::EPSILON_HIGH = Real(1.0e-12)
 
static Real const Astro::EPSILON_MEDIUM = Real(1.0e-10)
 
static Real const Astro::EPSILON_LOW = Real(1.0e-08)
 
static Real const Astro::INFTY = std::numeric_limits<Real>::infinity()
 
static Real const Astro::QUIET_NAN = std::numeric_limits<Real>::quiet_NaN()
 
static Vector1 const Astro::NAN_VEC1 = Vector1::Constant(QUIET_NAN)
 
static Matrix1 const Astro::NAN_MAT1 = Matrix1::Constant(QUIET_NAN)
 
static Vector1 const Astro::ZEROS_VEC1 = Vector1::Zero()
 
static Matrix1 const Astro::ZEROS_MAT1 = Matrix1::Zero()
 
static Vector1 const Astro::ONES_VEC1 = Vector1::Ones()
 
static Matrix1 const Astro::ONES_MAT1 = Matrix1::Ones()
 
static Matrix1 const Astro::IDENTITY_MAT1 = Matrix1::Identity()
 
static Vector2 const Astro::NAN_VEC2 = Vector2::Constant(QUIET_NAN)
 
static Matrix2 const Astro::NAN_MAT2 = Matrix2::Constant(QUIET_NAN)
 
static Vector2 const Astro::ZEROS_VEC2 = Vector2::Zero()
 
static Matrix2 const Astro::ZEROS_MAT2 = Matrix2::Zero()
 
static Vector2 const Astro::ONES_VEC2 = Vector2::Ones()
 
static Matrix2 const Astro::ONES_MAT2 = Matrix2::Ones()
 
static Matrix2 const Astro::IDENTITY_MAT2 = Matrix2::Identity()
 
static Vector3 const Astro::NAN_VEC3 = Vector3::Constant(QUIET_NAN)
 
static Matrix3 const Astro::NAN_MAT3 = Matrix3::Constant(QUIET_NAN)
 
static Vector3 const Astro::ZEROS_VEC3 = Vector3::Zero()
 
static Matrix3 const Astro::ZEROS_MAT3 = Matrix3::Zero()
 
static Vector3 const Astro::ONES_VEC3 = Vector3::Ones()
 
static Matrix3 const Astro::ONES_MAT3 = Matrix3::Ones()
 
static Matrix3 const Astro::IDENTITY_MAT3 = Matrix3::Identity()
 
static Vector4 const Astro::NAN_VEC4 = Vector4::Constant(QUIET_NAN)
 
static Matrix4 const Astro::NAN_MAT4 = Matrix4::Constant(QUIET_NAN)
 
static Vector4 const Astro::ZEROS_VEC4 = Vector4::Zero()
 
static Matrix4 const Astro::ZEROS_MAT4 = Matrix4::Zero()
 
static Vector4 const Astro::ONES_VEC4 = Vector4::Ones()
 
static Matrix4 const Astro::ONES_MAT4 = Matrix4::Ones()
 
static Matrix4 const Astro::IDENTITY_MAT4 = Matrix4::Identity()
 
static Vector5 const Astro::NAN_VEC5 = Vector5::Constant(QUIET_NAN)
 
static Matrix5 const Astro::NAN_MAT5 = Matrix5::Constant(QUIET_NAN)
 
static Vector5 const Astro::ZEROS_VEC5 = Vector5::Zero()
 
static Matrix5 const Astro::ZEROS_MAT5 = Matrix5::Zero()
 
static Vector5 const Astro::ONES_VEC5 = Vector5::Ones()
 
static Matrix5 const Astro::ONES_MAT5 = Matrix5::Ones()
 
static Matrix5 const Astro::IDENTITY_MAT5 = Matrix5::Identity()
 
static Vector6 const Astro::NAN_VEC6 = Vector6::Constant(QUIET_NAN)
 
static Matrix6 const Astro::NAN_MAT6 = Matrix6::Constant(QUIET_NAN)
 
static Vector6 const Astro::ZEROS_VEC6 = Vector6::Zero()
 
static Matrix6 const Astro::ZEROS_MAT6 = Matrix6::Zero()
 
static Vector6 const Astro::ONES_VEC6 = Vector6::Ones()
 
static Matrix6 const Astro::ONES_MAT6 = Matrix6::Ones()
 
static Matrix6 const Astro::IDENTITY_MAT6 = Matrix6::Identity()
 
static Vector7 const Astro::NAN_VEC7 = Vector7::Constant(QUIET_NAN)
 
static Matrix7 const Astro::NAN_MAT7 = Matrix7::Constant(QUIET_NAN)
 
static Vector7 const Astro::ZEROS_VEC7 = Vector7::Zero()
 
static Matrix7 const Astro::ZEROS_MAT7 = Matrix7::Zero()
 
static Vector7 const Astro::ONES_VEC7 = Vector7::Ones()
 
static Matrix7 const Astro::ONES_MAT7 = Matrix7::Ones()
 
static Matrix7 const Astro::IDENTITY_MAT7 = Matrix7::Identity()
 
static Vector8 const Astro::NAN_VEC8 = Vector8::Constant(QUIET_NAN)
 
static Matrix8 const Astro::NAN_MAT8 = Matrix8::Constant(QUIET_NAN)
 
static Vector8 const Astro::ZEROS_VEC8 = Vector8::Zero()
 
static Matrix8 const Astro::ZEROS_MAT8 = Matrix8::Zero()
 
static Vector8 const Astro::ONES_VEC8 = Vector8::Ones()
 
static Matrix8 const Astro::ONES_MAT8 = Matrix8::Ones()
 
static Matrix8 const Astro::IDENTITY_MAT8 = Matrix8::Identity()
 
static Vector9 const Astro::NAN_VEC9 = Vector9::Constant(QUIET_NAN)
 
static Matrix9 const Astro::NAN_MAT9 = Matrix9::Constant(QUIET_NAN)
 
static Vector9 const Astro::ZEROS_VEC9 = Vector9::Zero()
 
static Matrix9 const Astro::ZEROS_MAT9 = Matrix9::Zero()
 
static Vector9 const Astro::ONES_VEC9 = Vector9::Ones()
 
static Matrix9 const Astro::ONES_MAT9 = Matrix9::Ones()
 
static Matrix9 const Astro::IDENTITY_MAT9 = Matrix9::Identity()
 

Macro Definition Documentation

◆ ASTRO_ASSERT

#define ASTRO_ASSERT ( COND,
MSG )
Value:
if (!(COND)) \
{ \
ASTRO_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