1#ifndef OPAL_QUATERNION_H
2#define OPAL_QUATERNION_H
12 Quaternion(
const double &,
const double &,
const double &,
const double &);
49 Vektor<double, 4>({1.0, 0.0, 0.0, 0.0})
59 Vektor<double, 4>({x0, x1, x2, x3})
75 return dot(*
this, *
this);
81 return std::sqrt(this->
Norm());
87 return (std::abs(this->
Norm() - 1.0) < 1e-12);
93 return (std::abs((*
this)(0)) < 1e-12);
119 Vector_t vec({(*this)(1), (*
this)(2), (*
this)(3)});
Quaternion getQuaternion(Vector_t vec, Vector_t reference)
double dot(const Vector3D &lhs, const Vector3D &rhs)
Vector dot product.
boost::numeric::ublas::matrix< double > matrix_t
Vector_t rotate(const Vector_t &) const
Quaternion conjugate() const
Quaternion inverse() const
Quaternion & operator*=(const Quaternion &)
Quaternion operator/(const double &) const
Quaternion & operator=(const Quaternion &)=default
Quaternion operator*(const double &) const
matrix_t getRotationMatrix() const