21#ifndef mia_3d_quaternion_hh
22#define mia_3d_quaternion_hh
EXPORT_2D C2DFVectorfield & operator+=(C2DFVectorfield &a, const C2DFVectorfield &b)
T3DMatrix< float > C3DFMatrix
a simple 3x3 matrix with single precision floating point values
T3DMatrix< double > C3DDMatrix
a simple 3x3 matrix with double precision floating point values
T3DVector< double > C3DDVector
A double 3D Vector.
bool operator==(const CAttribute &a, const CAttribute &b)
a class to implement a quaternion
Quaternion(const Quaternion &other)=default
const C3DDMatrix get_rotation_matrix() const
Quaternion(const C3DFMatrix &rot)
Quaternion inverse() const
Quaternion(double w, double x, double y, double z)
void normalize()
normalizes to quaternion
static const Quaternion _1
void print(std::ostream &os) const
Quaternion(const C3DDMatrix &rot)
C3DDVector get_euler_angles() const
Quaternion(const C3DDVector &rot)
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
#define NS_MIA_END
conveniance define to end the mia namespace
bool EXPORT_3D operator==(const Quaternion &a, const Quaternion &b)
bool EXPORT_3D operator!=(const Quaternion &a, const Quaternion &b)
EXPORT_3D std::istream & operator>>(std::istream &os, Quaternion &a)
std::ostream & operator<<(std::ostream &os, const Quaternion &a)