SuperDex Physics C++ API
Loading...
Searching...
No Matches
superdex::Quaternion Class Reference

#include <quaternion.h>

Public Member Functions

real GetAngle () const
Quaternion GetConjugate () const
bool operator!= (Quaternion const &rhs) const
Quaternion operator* (Quaternion const &rhs) const
Real3 operator* (Real3 const &v) const
Vec4r operator* (Vec4r v) const
Quaternion operator+ (Quaternion const &a) const
Quaternion operator- () const
Quaternion operator- (Quaternion const &a) const
bool operator== (Quaternion const &rhs) const
 Quaternion ()
 Quaternion (real i, real j, real k, real r)
 Quaternion (Real4 const &v)
 Quaternion (Vec4r v)
void ToAxisAngle (Real3 *outAxis, real *outAngleRad) const
void ToAxisAngle (Vec4r *outAxis, real *outAngleRad) const
Real4 ToReal4 () const
Real3 ToRotationVector () const
Vec4r VToRotationVector () const

Static Public Member Functions

static Quaternion FromAxisAngle (Real3 const &axis, real angleRadians)
static Quaternion FromAxisAngle (Vec4r axis, real angleRadians)
static Quaternion FromRotationVector (Real3 const &rotVector)
static Quaternion FromRotationVector (Vec4r rotVector)
static Quaternion FromUnitAxisAngle (Vec4r normalizedAxis, real angleRadians)
static Quaternion Identity ()
static Quaternion RotationX (real a)
static Quaternion RotationY (real a)
static Quaternion RotationZ (real a)
static Quaternion Zero ()

Public Attributes

Vec4r data

Detailed Description

Definition at line 33 of file quaternion.h.

Constructor & Destructor Documentation

◆ Quaternion() [1/4]

superdex::Quaternion::Quaternion ( )
inline

Definition at line 39 of file quaternion.h.

◆ Quaternion() [2/4]

superdex::Quaternion::Quaternion ( Vec4r v)
inlineexplicit

Definition at line 40 of file quaternion.h.

◆ Quaternion() [3/4]

superdex::Quaternion::Quaternion ( Real4 const & v)
inlineexplicit

Definition at line 41 of file quaternion.h.

◆ Quaternion() [4/4]

superdex::Quaternion::Quaternion ( real i,
real j,
real k,
real r )
inlineexplicit

Definition at line 42 of file quaternion.h.

Member Function Documentation

◆ FromAxisAngle() [1/2]

Quaternion superdex::Quaternion::FromAxisAngle ( Real3 const & axis,
real angleRadians )
inlinestaticnodiscard

Definition at line 75 of file quaternion_inl.h.

◆ FromAxisAngle() [2/2]

Quaternion superdex::Quaternion::FromAxisAngle ( Vec4r axis,
real angleRadians )
inlinestaticnodiscard

Definition at line 71 of file quaternion_inl.h.

◆ FromRotationVector() [1/2]

Quaternion superdex::Quaternion::FromRotationVector ( Real3 const & rotVector)
inlinestaticnodiscard

Definition at line 95 of file quaternion_inl.h.

◆ FromRotationVector() [2/2]

Quaternion superdex::Quaternion::FromRotationVector ( Vec4r rotVector)
inlinestaticnodiscard

Definition at line 79 of file quaternion_inl.h.

◆ FromUnitAxisAngle()

Quaternion superdex::Quaternion::FromUnitAxisAngle ( Vec4r normalizedAxis,
real angleRadians )
inlinestaticnodiscard

Definition at line 50 of file quaternion_inl.h.

◆ GetAngle()

real superdex::Quaternion::GetAngle ( ) const
inlinenodiscard

Definition at line 116 of file quaternion_inl.h.

◆ GetConjugate()

Quaternion superdex::Quaternion::GetConjugate ( ) const
inlinenodiscard

Definition at line 209 of file quaternion_inl.h.

◆ Identity()

Quaternion superdex::Quaternion::Identity ( )
inlinestatic

Definition at line 26 of file quaternion_inl.h.

◆ operator!=()

bool superdex::Quaternion::operator!= ( Quaternion const & rhs) const
inlinenodiscard

Definition at line 153 of file quaternion_inl.h.

◆ operator*() [1/3]

Quaternion superdex::Quaternion::operator* ( Quaternion const & rhs) const
inlinenodiscard

Definition at line 157 of file quaternion_inl.h.

◆ operator*() [2/3]

Real3 superdex::Quaternion::operator* ( Real3 const & v) const
inlinenodiscard

Definition at line 196 of file quaternion_inl.h.

◆ operator*() [3/3]

Vec4r superdex::Quaternion::operator* ( Vec4r v) const
inlinenodiscard

Definition at line 174 of file quaternion_inl.h.

◆ operator+()

Quaternion superdex::Quaternion::operator+ ( Quaternion const & a) const
inlinenodiscard

Definition at line 201 of file quaternion_inl.h.

◆ operator-() [1/2]

Quaternion superdex::Quaternion::operator- ( ) const
inlinenodiscard

Definition at line 170 of file quaternion_inl.h.

◆ operator-() [2/2]

Quaternion superdex::Quaternion::operator- ( Quaternion const & a) const
inlinenodiscard

Definition at line 205 of file quaternion_inl.h.

◆ operator==()

bool superdex::Quaternion::operator== ( Quaternion const & rhs) const
inlinenodiscard

Definition at line 149 of file quaternion_inl.h.

◆ RotationX()

Quaternion superdex::Quaternion::RotationX ( real a)
inlinestatic

Definition at line 34 of file quaternion_inl.h.

◆ RotationY()

Quaternion superdex::Quaternion::RotationY ( real a)
inlinestatic

Definition at line 38 of file quaternion_inl.h.

◆ RotationZ()

Quaternion superdex::Quaternion::RotationZ ( real a)
inlinestatic

Definition at line 42 of file quaternion_inl.h.

◆ ToAxisAngle() [1/2]

void superdex::Quaternion::ToAxisAngle ( Real3 * outAxis,
real * outAngleRad ) const
inline

Definition at line 122 of file quaternion_inl.h.

◆ ToAxisAngle() [2/2]

void superdex::Quaternion::ToAxisAngle ( Vec4r * outAxis,
real * outAngleRad ) const
inline

Definition at line 131 of file quaternion_inl.h.

◆ ToReal4()

Real4 superdex::Quaternion::ToReal4 ( ) const
inlinenodiscard

Definition at line 46 of file quaternion_inl.h.

◆ ToRotationVector()

Real3 superdex::Quaternion::ToRotationVector ( ) const
inlinenodiscard

Definition at line 144 of file quaternion_inl.h.

◆ VToRotationVector()

Vec4r superdex::Quaternion::VToRotationVector ( ) const
inlinenodiscard

Definition at line 137 of file quaternion_inl.h.

◆ Zero()

Quaternion superdex::Quaternion::Zero ( )
inlinestatic

Definition at line 30 of file quaternion_inl.h.

Member Data Documentation

◆ data

Vec4r superdex::Quaternion::data

Definition at line 36 of file quaternion.h.


The documentation for this class was generated from the following files: