# Cinder

# cinder::Matrix44< T > Class Template Reference

`#include <Matrix.h>`

List of all members.

## Public Member Functions
| Matrix44 ()
| Matrix44 (const T *dt)
| Matrix44 (T d0, T d1, T d2, T d3, T d4, T d5, T d6, T d7, T d8, T d9, T d10, T d11, T d12, T d13, T d14, T d15)
| Matrix44 (const Vec3f &vecX, const Vec3f &vecY, const Vec3f &vecZ)
| Matrix44 (const Matrix44< T > &src)
template<typename FromT >
| Matrix44 (const Matrix44< FromT > &src)
void | setToIdentity ()
T | determinant () const
Vec3< T > | transformPoint (const Vec3< T > &rhs) const
Vec3< T > | transformPointAffine (const Vec3< T > &rhs) const
Vec3< T > | transformVec (const Vec3< T > &rhs) const
bool | operator== (const Matrix44< T > &rhs) const
bool | operator!= (const Matrix44< T > &rhs) const
T & | at (int row, int col)
const T & | at (int row, int col) const
Matrix44< T > & | operator= (const Matrix44< T > &rhs)
template<typename FromT >
Matrix44< T > & | operator= (const Matrix44< FromT > &rhs)
const Matrix44< T > | operator+ (const Matrix44< T > &rhs) const
const Matrix44< T > | operator- (const Matrix44< T > &rhs) const
const Matrix44< T > | operator+ (T rhs) const
const Matrix44< T > | operator- (T rhs) const
const Matrix44< T > | operator* (T rhs) const
const Matrix44< T > | operator/ (T rhs) const
const Vec4< T > | operator* (const Vec4< T > &rhs) const
const Vec3< T > | operator* (const Vec3< T > &rhs) const
const Matrix44< T > | operator* (const Matrix44< T > &rhs) const
Matrix44< T > & | operator*= (T s)
Matrix44< T > & | operator*= (const Matrix44< T > &rhs)
Vec3< T > | getTranslation () const
void | translate (const Vec3< T > &t)
void | scale (const Vec3< T > &s)
void | rotate (const Vec3< T > &axis, T radians)
void | rotate (const Vec3< T > &r)
void | rotate (const Vec3< T > &from, const Vec3< T > &to, const Vec3< T > &worldUp)
void | transpose ()
Matrix44< T > | transposed () const
void | invert ()
Matrix44< T > | inverted () const
void | affineInvert ()
Matrix44< T > | affineInverted () const
Matrix44< T > | invertTransform () const
Vec4< T > | getRow (uint8_t row) const
void | setRow (uint8_t row, const Vec4< T > &v)
| operator T * ()
| operator const T * () const
## Static Public Member Functions
static Matrix44< T > | createTranslation (const Vec3< T > &v, T w=1)
static Matrix44< T > | createScale (const Vec3< T > &v)
static Matrix44< T > | createRotation (const Vec3< T > &axis, T angle)
static Matrix44< T > | createRotation (const Vec3< T > &from, const Vec3< T > &to, const Vec3< T > &worldUp)
static Matrix44< T > | createRotation (const Vec3< T > &eulerRadians)
static Matrix44< T > | alignZAxisWithTarget (Vec3< T > targetDir, Vec3< T > upDir)
## Public Attributes
T | m [16]
## Friends
std::ostream & | operator<< (std::ostream &lhs, const Matrix44< T > &rhs)

### template<typename T>
class cinder::Matrix44< T >

## Constructor & Destructor Documentation

template<typename T>

cinder::Matrix44< T >::Matrix44 | ( |  | ) |

template<typename T>

cinder::Matrix44< T >::Matrix44 | ( | const T * | dt | ) |

template<typename T>

cinder::Matrix44< T >::Matrix44 | ( | T | d0,
|  | T | d1,
|  | T | d2,
|  | T | d3,
|  | T | d4,
|  | T | d5,
|  | T | d6,
|  | T | d7,
|  | T | d8,
|  | T | d9,
|  | T | d10,
|  | T | d11,
|  | T | d12,
|  | T | d13,
|  | T | d14,
|  | T | d15 |
| ) |  |  |

template<typename T>

cinder::Matrix44< T >::Matrix44 | ( | const Vec3f & | vecX,
|  | const Vec3f & | vecY,
|  | const Vec3f & | vecZ |
| ) |  |  |

template<typename T>

cinder::Matrix44< T >::Matrix44 | ( | const Matrix44< T > & | src | ) |

template<typename T>
template<typename FromT >

cinder::Matrix44< T >::Matrix44 | ( | const Matrix44< FromT > & | src | ) |

## Member Function Documentation

template<typename T>

void cinder::Matrix44< T >::setToIdentity | ( |  | ) |

template<typename T>

T cinder::Matrix44< T >::determinant | ( |  | ) | const

template<typename T>

Vec3<T> cinder::Matrix44< T >::transformPoint | ( | const Vec3< T > & | rhs | ) | const

template<typename T>

Vec3<T> cinder::Matrix44< T >::transformPointAffine | ( | const Vec3< T > & | rhs | ) | const

template<typename T>

Vec3<T> cinder::Matrix44< T >::transformVec | ( | const Vec3< T > & | rhs | ) | const

template<typename T>

bool cinder::Matrix44< T >::operator== | ( | const Matrix44< T > & | rhs | ) | const

template<typename T>

bool cinder::Matrix44< T >::operator!= | ( | const Matrix44< T > & | rhs | ) | const

template<typename T>

T& cinder::Matrix44< T >::at | ( | int | row,
|  | int | col |
| ) |  |  |

template<typename T>

const T& cinder::Matrix44< T >::at | ( | int | row,
|  | int | col |
| ) |  |  | const

template<typename T>

Matrix44<T>& cinder::Matrix44< T >::operator= | ( | const Matrix44< T > & | rhs | ) |

template<typename T>
template<typename FromT >

Matrix44<T>& cinder::Matrix44< T >::operator= | ( | const Matrix44< FromT > & | rhs | ) |

template<typename T>

const Matrix44<T> cinder::Matrix44< T >::operator+ | ( | const Matrix44< T > & | rhs | ) | const

template<typename T>

const Matrix44<T> cinder::Matrix44< T >::operator- | ( | const Matrix44< T > & | rhs | ) | const

template<typename T>

const Matrix44<T> cinder::Matrix44< T >::operator+ | ( | T | rhs | ) | const

template<typename T>

const Matrix44<T> cinder::Matrix44< T >::operator- | ( | T | rhs | ) | const

template<typename T>

const Matrix44<T> cinder::Matrix44< T >::operator* | ( | T | rhs | ) | const

template<typename T>

const Matrix44<T> cinder::Matrix44< T >::operator/ | ( | T | rhs | ) | const

template<typename T>

const Vec4<T> cinder::Matrix44< T >::operator* | ( | const Vec4< T > & | rhs | ) | const

template<typename T>

const Vec3<T> cinder::Matrix44< T >::operator* | ( | const Vec3< T > & | rhs | ) | const

template<typename T>

const Matrix44<T> cinder::Matrix44< T >::operator* | ( | const Matrix44< T > & | rhs | ) | const

template<typename T>

Matrix44<T>& cinder::Matrix44< T >::operator*= | ( | T | s | ) |

template<typename T>

Matrix44<T>& cinder::Matrix44< T >::operator*= | ( | const Matrix44< T > & | rhs | ) |

template<typename T>

Vec3<T> cinder::Matrix44< T >::getTranslation | ( |  | ) | const

template<typename T>

void cinder::Matrix44< T >::translate | ( | const Vec3< T > & | t | ) |

template<typename T>

void cinder::Matrix44< T >::scale | ( | const Vec3< T > & | s | ) |

template<typename T>

void cinder::Matrix44< T >::rotate | ( | const Vec3< T > & | axis,
|  | T | radians |
| ) |  |  |

template<typename T>

void cinder::Matrix44< T >::rotate | ( | const Vec3< T > & | r | ) |

template<typename T>

void cinder::Matrix44< T >::rotate | ( | const Vec3< T > & | from,
|  | const Vec3< T > & | to,
|  | const Vec3< T > & | worldUp |
| ) |  |  |

template<typename T>

void cinder::Matrix44< T >::transpose | ( |  | ) |

template<typename T>

Matrix44<T> cinder::Matrix44< T >::transposed | ( |  | ) | const

template<typename T>

void cinder::Matrix44< T >::invert | ( |  | ) |

template<typename T>

Matrix44<T> cinder::Matrix44< T >::inverted | ( |  | ) | const

template<typename T>

void cinder::Matrix44< T >::affineInvert | ( |  | ) |

template<typename T>

Matrix44<T> cinder::Matrix44< T >::affineInverted | ( |  | ) | const

template<typename T>

Matrix44<T> cinder::Matrix44< T >::invertTransform | ( |  | ) | const

template<typename T>

Vec4<T> cinder::Matrix44< T >::getRow | ( | uint8_t | row | ) | const

template<typename T>

void cinder::Matrix44< T >::setRow | ( | uint8_t | row,
|  | const Vec4< T > & | v |
| ) |  |  |

template<typename T>

Matrix44< T > cinder::Matrix44< T >::createTranslation | ( | const Vec3< T > & | v,
|  | T | w = `1` |
| ) |  |  | `[static]`

template<typename T>

Matrix44< T > cinder::Matrix44< T >::createScale | ( | const Vec3< T > & | v | ) | `[static]`

template<typename T>

Matrix44< T > cinder::Matrix44< T >::createRotation | ( | const Vec3< T > & | axis,
|  | T | angle |
| ) |  |  | `[static]`

template<typename T>

Matrix44< T > cinder::Matrix44< T >::createRotation | ( | const Vec3< T > & | from,
|  | const Vec3< T > & | to,
|  | const Vec3< T > & | worldUp |
| ) |  |  | `[static]`

template<typename T>

Matrix44< T > cinder::Matrix44< T >::createRotation | ( | const Vec3< T > & | eulerRadians | ) | `[static]`

template<typename T>

Matrix44< T > cinder::Matrix44< T >::alignZAxisWithTarget | ( | Vec3< T > | targetDir,
|  | Vec3< T > | upDir |
| ) |  |  | `[static]`

template<typename T>

cinder::Matrix44< T >::operator T * | ( |  | ) |

template<typename T>

cinder::Matrix44< T >::operator const T * | ( |  | ) | const

## Friends And Related Function Documentation

template<typename T>

std::ostream& operator<< | ( | std::ostream & | lhs,
|  | const Matrix44< T > & | rhs |
| ) |  |  | `[friend]`

## Member Data Documentation

template<typename T>

T cinder::Matrix44< T >::m[16]

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

- include/cinder/Matrix.h
- src/cinder/Matrix.cpp