Go to the documentation of this file.
65 #ifndef XSQUATERNION_H
66 #define XSQUATERNION_H
79 #define XSQUATERNION_INITIALIZER { { { XsMath_zero, XsMath_zero, XsMath_zero, XsMath_zero } } }
146 #if !defined(SWIG) && !defined(__ADSP21000__)
199 inline void assign(
const XsReal* values)
201 for (
int i = 0; i < 4; ++i)
256 inline bool empty()
const
358 return m_w == other.
m_w &&
void XsQuaternion_fromRotationMatrix(XsQuaternion *thisPtr, const XsMatrix *ori)
Create a quaternion representation of orientation matrix ori.
A class that represents a matrix of real numbers.
A class that represents a vector of real numbers.
TF2SIMD_FORCE_INLINE Quaternion inverse(const Quaternion &q)
XsReal XsQuaternion_normalized(const XsQuaternion *thisPtr, XsQuaternion *dest)
Create a normalized version of this quaternion.
void XsQuaternion_copy(XsQuaternion *copy, XsQuaternion const *src)
Copies the contents of thisPtr into copy.
A class that implements a quaternion.
void XsQuaternion_inverse(const XsQuaternion *thisPtr, XsQuaternion *dest)
Compute the inverse/conjugate of this quaternion.
int XsQuaternion_empty(const XsQuaternion *thisPtr)
Test if this is a null object.
bool operator==(const XsFilterProfile &lhs, const XsFilterProfile &rhs)
Returns true if lhs has the same type as rhs.
XsReal XsQuaternion_dotProduct(XsQuaternion const *thisPtr, XsQuaternion const *other)
Returns the dot product of the thisPtr with other.
struct XsQuaternion XsQuaternion
double XsReal
Defines the floating point type used by the Xsens libraries.
int XsQuaternion_equal(XsQuaternion const *a, XsQuaternion const *b)
returns non-zero if a and b are numerically equal
void XsQuaternion_multiply(const XsQuaternion *left, const XsQuaternion *right, XsQuaternion *dest)
Multiply left quaternion with right quaternion and put the result in dest. The parameters may point t...
size_t XsSize
XsSize must be unsigned number!
const XsQuaternion * XsQuaternion_identity(void)
Returns an XsQuaternion that represents the identity quaternion.
XsReal m_x
Stores the x component of the quaternion.
XsReal m_data[4]
Stores the quaternion in an array of four elements.
XSMATHCONST XsReal XsMath_zero
0
void XsQuaternion_swap(XsQuaternion *a, XsQuaternion *b)
Swap the contents of a and b.
Contains Euler Angle data and conversion from Quaternion.
XsReal m_y
Stores the y component of the quaternion.
void XsQuaternion_destruct(XsQuaternion *thisPtr)
Sets the contents to 0, which is an invalid XsQuaternion.
XsReal m_w
Stores the w component of the quaternion.
TF2SIMD_FORCE_INLINE Quaternion operator-(const Quaternion &q)
int XsQuaternion_compare(XsQuaternion const *thisPtr, XsQuaternion const *other, XsReal tolerance)
Returns non-zero if the values at thisPtr and other are within tolerance of each other.
XsReal m_z
Stores the z component of the quaternion.
void XsQuaternion_fromEulerAngles(XsQuaternion *thisPtr, const XsEuler *src)
Create a quaternion representation from euler angles.
XsReal XsQuaternion_normalize(XsQuaternion *thisPtr)
Normalize this quaternion.