JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::Matrix3D< Type > Class Template Reference

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

#include <juce_Matrix3D.h>

Collaboration diagram for juce::Matrix3D< Type >:

Public Member Functions

 Matrix3D () noexcept
 Creates an identity matrix. More...
 
 Matrix3D (const AffineTransform &transform) noexcept
 Creates a matrix from a 2D affine transform. More...
 
 Matrix3D (const Matrix3D &other) noexcept
 Creates a copy of another matrix. More...
 
 Matrix3D (const Type *values) noexcept
 Creates a matrix from an array of 16 raw values. 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 (Vector3D< Type > vector) noexcept
 Creates a matrix from a 3D vector translation. More...
 
Matrix3D operator* (const Matrix3D &other) const noexcept
 Multiplies this matrix by another, and returns the result. More...
 
Matrix3Doperator*= (const Matrix3D &other) noexcept
 Multiplies this matrix by another. More...
 
Matrix3Doperator= (const Matrix3D &other) noexcept
 Copies another matrix. 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 juce::Matrix3D< Type >

A 4x4 3D transformation matrix.

See also
Vector3D, Quaternion, AffineTransform

@tags{OpenGL}

Constructor & Destructor Documentation

◆ Matrix3D() [1/6]

template<typename Type >
juce::Matrix3D< Type >::Matrix3D ( )
inlinenoexcept

Creates an identity matrix.

References juce::Matrix3D< Type >::mat.

◆ Matrix3D() [2/6]

template<typename Type >
juce::Matrix3D< Type >::Matrix3D ( const Matrix3D< Type > &  other)
inlinenoexcept

Creates a copy of another matrix.

References juce::Matrix3D< Type >::mat.

◆ Matrix3D() [3/6]

template<typename Type >
juce::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 
)
inlinenoexcept

Creates a matrix from its raw 4x4 values.

References juce::Matrix3D< Type >::mat.

◆ Matrix3D() [4/6]

template<typename Type >
juce::Matrix3D< Type >::Matrix3D ( const Type *  values)
inlinenoexcept

Creates a matrix from an array of 16 raw values.

References juce::Matrix3D< Type >::mat, and juce::UnitTestCategories::values.

◆ Matrix3D() [5/6]

template<typename Type >
juce::Matrix3D< Type >::Matrix3D ( const AffineTransform transform)
inlinenoexcept

Creates a matrix from a 2D affine transform.

References juce::Matrix3D< Type >::mat, and juce::gl::transform.

◆ Matrix3D() [6/6]

template<typename Type >
juce::Matrix3D< Type >::Matrix3D ( Vector3D< Type >  vector)
inlinenoexcept

Creates a matrix from a 3D vector translation.

References juce::Matrix3D< Type >::mat.

Member Function Documentation

◆ fromFrustum()

template<typename Type >
static Matrix3D juce::Matrix3D< Type >::fromFrustum ( Type  left,
Type  right,
Type  bottom,
Type  top,
Type  nearDistance,
Type  farDistance 
)
inlinestaticnoexcept

Returns a new matrix from the given frustum values.

References juce::gl::bottom, juce::gl::left, juce::gl::right, and juce::gl::top.

◆ operator*()

template<typename Type >
Matrix3D juce::Matrix3D< Type >::operator* ( const Matrix3D< Type > &  other) const
inlinenoexcept

Multiplies this matrix by another, and returns the result.

References juce::Matrix3D< Type >::mat.

◆ operator*=()

template<typename Type >
Matrix3D& juce::Matrix3D< Type >::operator*= ( const Matrix3D< Type > &  other)
inlinenoexcept

Multiplies this matrix by another.

◆ operator=()

template<typename Type >
Matrix3D& juce::Matrix3D< Type >::operator= ( const Matrix3D< Type > &  other)
inlinenoexcept

Copies another matrix.

References juce::Matrix3D< Type >::mat.

◆ rotation()

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

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

Member Data Documentation

◆ mat

template<typename Type >
Type juce::Matrix3D< Type >::mat[16]

The 4x4 matrix values.

These are stored in the standard OpenGL order.

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


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