Quaternion< Type > Class Template Reference
juce_opengl » geometry

Holds a quaternion (a 3D vector and a scalar value). More...

## Public Member Functions

| Quaternion () noexcept
| Quaternion (const Quaternion &other) noexcept
| Quaternion (Vector3D< Type > vectorPart, Type scalarPart) noexcept
| Quaternion (Type x, Type y, Type z, Type w) noexcept
Quaternion & | operator= (Quaternion other) noexcept
Quaternion & | operator*= (Quaternion other) noexcept
Type | length () const noexcept
Type | normal () const noexcept
Quaternion | normalised () const noexcept
Matrix3D< Type > | getRotationMatrix () const noexcept
| Returns the matrix that will perform the rotation specified by this quaternion. More...

## Static Public Member Functions

static Quaternion | fromAngle (Type angle, Vector3D< Type > axis) noexcept
| Creates a quaternion from an angle and an axis. More...

## Public Attributes

Vector3D< Type > | vector
| The vector part of the quaternion. More...
Type | scalar
| The scalar part of the quaternion. More...

## Detailed Description

### template<typename Type>
class Quaternion< Type >

Holds a quaternion (a 3D vector and a scalar value).

## Constructor & Destructor Documentation

## Quaternion() [1/4]

template<typename Type>

Quaternion< Type >::Quaternion | ( |  | ) |

noexcept

Referenced by Quaternion< float >::fromAngle(), and Quaternion< float >::normalised().

## Quaternion() [2/4]

template<typename Type>

Quaternion< Type >::Quaternion | ( | const Quaternion< Type > & | other | ) |

noexcept

## Quaternion() [3/4]

template<typename Type>

Quaternion< Type >::Quaternion | ( | Vector3D< Type > | vectorPart,
|  | Type | scalarPart
| ) |  |

noexcept

## Quaternion() [4/4]

template<typename Type>

Quaternion< Type >::Quaternion | ( | Type | x,
|  | Type | y,
|  | Type | z,
|  | Type | w
| ) |  |

noexcept

## Member Function Documentation

## fromAngle()

template<typename Type>

static Quaternion Quaternion< Type >::fromAngle | ( | Type | angle,
|  | Vector3D< Type > | axis
| ) |  |

static noexcept

Creates a quaternion from an angle and an axis.

## operator=()

template<typename Type>

Quaternion& Quaternion< Type >::operator= | ( | Quaternion< Type > | other | ) |

noexcept

## operator*=()

template<typename Type>

Quaternion& Quaternion< Type >::operator*= | ( | Quaternion< Type > | other | ) |

noexcept

## length()

template<typename Type>

Type Quaternion< Type >::length | ( |  | ) | const

noexcept

Referenced by Quaternion< float >::normalised().

## normal()

template<typename Type>

Type Quaternion< Type >::normal | ( |  | ) | const

noexcept

Referenced by Quaternion< float >::getRotationMatrix(), and Quaternion< float >::length().

## normalised()

template<typename Type>

Quaternion Quaternion< Type >::normalised | ( |  | ) | const

noexcept

## getRotationMatrix()

template<typename Type>

Matrix3D<Type> Quaternion< Type >::getRotationMatrix | ( |  | ) | const

noexcept

Returns the matrix that will perform the rotation specified by this quaternion.

Referenced by Draggable3DOrientation::getRotationMatrix().

## Member Data Documentation

## vector

template<typename Type>

Vector3D<Type> Quaternion< Type >::vector

The vector part of the quaternion.

Referenced by Quaternion< float >::getRotationMatrix(), Quaternion< float >::normal(), Quaternion< float >::normalised(), Quaternion< float >::operator*=(), and Quaternion< float >::operator=().

## scalar

template<typename Type>

Type Quaternion< Type >::scalar

The scalar part of the quaternion.

Referenced by Quaternion< float >::getRotationMatrix(), Quaternion< float >::normal(), Quaternion< float >::normalised(), Quaternion< float >::operator*=(), and Quaternion< float >::operator=().

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

- juce_Quaternion.h