Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
EulerSequences.hpp File Reference
#include <vulcan/core/VulcanTypes.hpp>
#include <janus/math/Quaternion.hpp>
#include <janus/math/Rotations.hpp>
#include <array>
Include dependency graph for EulerSequences.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  vulcan
namespace  vulcan::detail

Enumerations

enum class  vulcan::EulerSequence {
  vulcan::XYZ , vulcan::XZY , vulcan::YXZ , vulcan::YZX ,
  vulcan::ZXY , vulcan::ZYX , vulcan::XYX , vulcan::XZX ,
  vulcan::YXY , vulcan::YZY , vulcan::ZXZ , vulcan::ZYZ
}

Functions

constexpr std::array< int, 3 > vulcan::euler_axes (EulerSequence seq)
constexpr bool vulcan::is_proper_euler (EulerSequence seq)
 Check if sequence is proper Euler (symmetric: first axis == third axis).
constexpr const char * vulcan::euler_sequence_name (EulerSequence seq)
 Get sequence name as string (for debugging/logging).
template<typename Scalar>
Mat3< Scalar > vulcan::dcm_from_euler (Scalar e1, Scalar e2, Scalar e3, EulerSequence seq)
template<typename Scalar>
janus::Quaternion< Scalar > vulcan::quaternion_from_euler (Scalar e1, Scalar e2, Scalar e3, EulerSequence seq)
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_zyx (const Mat3< Scalar > &R)
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_xyz (const Mat3< Scalar > &R)
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_xzy (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for XZY sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_yxz (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for YXZ sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_yzx (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for YZX sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_zxy (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for ZXY sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_zxz (const Mat3< Scalar > &R)
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_zyz (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for ZYZ sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_xyx (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for XYX sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_xzx (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for XZX sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_yxy (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for YXY sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::detail::euler_from_dcm_yzy (const Mat3< Scalar > &R)
 Extract Euler angles from DCM for YZY sequence.
template<typename Scalar>
Vec3< Scalar > vulcan::euler_from_dcm (const Mat3< Scalar > &R, EulerSequence seq)
template<typename Scalar>
Vec3< Scalar > vulcan::euler_from_quaternion (const janus::Quaternion< Scalar > &q, EulerSequence seq)