Matrix3D< Type > Class Template Reference
juce_opengl » geometry

A 4x4 3D transformation matrix. More...

## Public Member Functions

| Matrix3D () noexcept
| Creates an identity matrix. More...
| Matrix3D (const Matrix3D &other) noexcept
| Creates a copy of another matrix. More...
Matrix3D & | operator= (const Matrix3D &other) noexcept
| Copies another matrix. More...
| Matrix3D (Type m00, Type m10, Type m20, Type m30, Type m01, Type m11, Type m21, Type m31, Type m02, Type m12, Type m22, Type m32, Type m03, Type m13, Type m23, Type m33) noexcept
| Creates a matrix from its raw 4x4 values. More...
| Matrix3D (const Type *values) noexcept
| Creates a matrix from an array of 16 raw values. More...
| Matrix3D (const AffineTransform &transform) noexcept
| Creates a matrix from a 2D affine transform. More...
| Matrix3D (Vector3D< Type > vector) noexcept
| Creates a matrix from a 3D vector translation. More...
Matrix3D & | operator*= (const Matrix3D &other) noexcept
| Multiplies this matrix by another. More...
Matrix3D | operator* (const Matrix3D &other) const noexcept
| Multiplies this matrix by another, and returns the result. More...

## Static Public Member Functions

static Matrix3D | fromFrustum (Type left, Type right, Type bottom, Type top, Type nearDistance, Type farDistance) noexcept
| Returns a new matrix from the given frustum values. More...
static Matrix3D | rotation (Vector3D< Type > eulerAngleRadians) noexcept
| Returns a matrix which will apply a rotation through the Y, X and Z angles specified by a vector. More...

## Public Attributes

Type | mat [16]
| The 4x4 matrix values. More...

## Detailed Description

### template<typename Type>
class Matrix3D< Type >

A 4x4 3D transformation matrix.

See also
  Vector3D, Quaternion, AffineTransform

## Constructor & Destructor Documentation

## Matrix3D() [1/6]

template<typename Type >

Matrix3D< Type >::Matrix3D | ( |  | ) |

noexcept

Creates an identity matrix.

References Matrix3D< Type >::mat.

## Matrix3D() [2/6]

template<typename Type >

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

noexcept

Creates a copy of another matrix.

References Matrix3D< Type >::mat.

## Matrix3D() [3/6]

template<typename Type >

Matrix3D< Type >::Matrix3D | ( | Type | m00,
|  | Type | m10,
|  | Type | m20,
|  | Type | m30,
|  | Type | m01,
|  | Type | m11,
|  | Type | m21,
|  | Type | m31,
|  | Type | m02,
|  | Type | m12,
|  | Type | m22,
|  | Type | m32,
|  | Type | m03,
|  | Type | m13,
|  | Type | m23,
|  | Type | m33
| ) |  |

noexcept

Creates a matrix from its raw 4x4 values.

References Matrix3D< Type >::mat.

## Matrix3D() [4/6]

template<typename Type >

Matrix3D< Type >::Matrix3D | ( | const Type * | values | ) |

noexcept

Creates a matrix from an array of 16 raw values.

## Matrix3D() [5/6]

template<typename Type >

Matrix3D< Type >::Matrix3D | ( | const AffineTransform & | transform | ) |

noexcept

Creates a matrix from a 2D affine transform.

References Matrix3D< Type >::mat.

## Matrix3D() [6/6]

template<typename Type >

Matrix3D< Type >::Matrix3D | ( | Vector3D< Type > | vector | ) |

noexcept

Creates a matrix from a 3D vector translation.

References Matrix3D< Type >::mat.

## Member Function Documentation

## operator=()

template<typename Type >

Matrix3D& Matrix3D< Type >::operator= | ( | const Matrix3D< Type > & | other | ) |

noexcept

Copies another matrix.

References Matrix3D< Type >::mat.

## fromFrustum()

template<typename Type >

static Matrix3D Matrix3D< Type >::fromFrustum | ( | Type | left,
|  | Type | right,
|  | Type | bottom,
|  | Type | top,
|  | Type | nearDistance,
|  | Type | farDistance
| ) |  |

static noexcept

Returns a new matrix from the given frustum values.

## rotation()

template<typename Type >

static Matrix3D Matrix3D< Type >::rotation | ( | Vector3D< Type > | eulerAngleRadians | ) |

static noexcept

Returns a matrix which will apply a rotation through the Y, X and Z angles specified by a vector.

## operator*=()

template<typename Type >

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

noexcept

Multiplies this matrix by another.

## operator*()

template<typename Type >

Matrix3D Matrix3D< Type >::operator* | ( | const Matrix3D< Type > & | other | ) | const

noexcept

Multiplies this matrix by another, and returns the result.

References Matrix3D< Type >::mat.

## Member Data Documentation

## mat

template<typename Type >

Type Matrix3D< Type >::mat[16]

The 4x4 matrix values.

These are stored in the standard OpenGL order.

Referenced by Matrix3D< Type >::Matrix3D(), Matrix3D< Type >::operator*(), and Matrix3D< Type >::operator=().

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

- juce_Matrix3D.h