JUCE
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Matrix3D< Type > Class Template Reference

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...
 
Matrix3Doperator= (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...
 
Matrix3Doperator*= (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 
)
staticnoexcept

Returns a new matrix from the given frustum values.

◆ rotation()

template<typename Type >
static Matrix3D Matrix3D< Type >::rotation ( Vector3D< Type >  eulerAngleRadians)
staticnoexcept

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: