#include <Matrix44.h>
Public Types | |
typedef T | TYPE |
Public Member Functions | |
Matrix44 () | |
Matrix44 (T s) | |
Matrix44 (const T *dt, bool srcIsRowMajor=false) | |
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, bool srcIsRowMajor=false) | |
Matrix44 (const Vec3< T > &vx, const Vec3< T > &vy, const Vec3< T > &vz) | |
Matrix44 (const Vec4< T > &vx, const Vec4< T > &vy, const Vec4< T > &vz, const Vec4< T > &vw=Vec4< T >(0, 0, 0, 1)) | |
template<typename FromT > | |
Matrix44 (const Matrix44< FromT > &src) | |
Matrix44 (const Matrix22< T > &src) | |
Matrix44 (const Matrix33< T > &src) | |
Matrix44 (const Matrix44< T > &src) | |
operator T * () | |
operator const T * () const | |
Matrix44< T > & | operator= (const Matrix44< T > &rhs) |
Matrix44< T > & | operator= (T rhs) |
template<typename FromT > | |
Matrix44< T > & | operator= (const Matrix44< FromT > &rhs) |
Matrix44< T > & | operator= (const Matrix22< T > &rhs) |
Matrix44< T > & | operator= (const Matrix33< T > &rhs) |
bool | equalCompare (const Matrix44< T > &rhs, T epsilon) const |
bool | operator== (const Matrix44< T > &rhs) const |
bool | operator!= (const Matrix44< T > &rhs) const |
Matrix44< T > & | operator*= (const Matrix44< T > &rhs) |
Matrix44< T > & | operator+= (const Matrix44< T > &rhs) |
Matrix44< T > & | operator-= (const Matrix44< T > &rhs) |
Matrix44< T > & | operator*= (T rhs) |
Matrix44< T > & | operator/= (T rhs) |
Matrix44< T > & | operator+= (T rhs) |
Matrix44< T > & | operator-= (T rhs) |
const Matrix44< T > | operator* (const Matrix44< T > &rhs) const |
const Matrix44< T > | operator+ (const Matrix44< T > &rhs) const |
const Matrix44< T > | operator- (const Matrix44< T > &rhs) const |
const Vec3< T > | operator* (const Vec3< T > &rhs) const |
const Vec4< T > | operator* (const Vec4< 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 |
T & | at (int row, int col) |
const T & | at (int row, int col) const |
void | set (const T *dt, bool srcIsRowMajor=false) |
void | set (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, bool srcIsRowMajor=false) |
Vec4< T > | getColumn (int col) const |
void | setColumn (int col, const Vec4< T > &v) |
Vec4< T > | getRow (int row) const |
void | setRow (int row, const Vec4< T > &v) |
void | getColumns (Vec4< T > *c0, Vec4< T > *c1, Vec4< T > *c2, Vec4< T > *c3) const |
void | setColumns (const Vec4< T > &c0, const Vec4< T > &c1, const Vec4< T > &c2, const Vec4< T > &c3) |
void | getRows (Vec4< T > *r0, Vec4< T > *r1, Vec4< T > *r2, Vec4< T > *r3) const |
void | setRows (const Vec4< T > &r0, const Vec4< T > &r1, const Vec4< T > &r2, const Vec4< T > &r3) |
Matrix22< T > | subMatrix22 (int row, int col) const |
Matrix33< T > | subMatrix33 (int row, int col) const |
void | setToNull () |
void | setToIdentity () |
T | determinant () const |
T | trace (bool fullTrace=false) const |
Matrix44< T > | diagonal () const |
Matrix44< T > | lowerTriangular () const |
Matrix44< T > | upperTriangular () const |
void | transpose () |
Matrix44< T > | transposed () const |
void | invert (T epsilon=EPSILON) |
Matrix44< T > | inverted (T epsilon=EPSILON) const |
Vec3< T > | preMultiply (const Vec3< T > &v) const |
Vec4< T > | preMultiply (const Vec4< T > &v) const |
Vec3< T > | postMultiply (const Vec3< T > &v) const |
Vec4< T > | postMultiply (const Vec4< T > &v) const |
void | affineInvert () |
Matrix44< T > | affineInverted () 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 |
Vec4< T > | transformVec (const Vec4< T > &rhs) const |
Vec4< T > | getTranslate () const |
void | setTranslate (const Vec3< T > &v) |
void | setTranslate (const Vec4< T > &v) |
void | translate (const Vec3< T > &tr) |
void | translate (const Vec4< T > &tr) |
void | rotate (const Vec3< T > &axis, T radians) |
void | rotate (const Vec4< T > &axis, T radians) |
void | rotate (const Vec3< T > &eulerRadians) |
void | rotate (const Vec4< T > &eulerRadians) |
void | rotate (const Vec3< T > &from, const Vec3< T > &to, const Vec3< T > &worldUp) |
void | rotate (const Vec4< T > &from, const Vec4< T > &to, const Vec4< T > &worldUp) |
void | scale (T s) |
void | scale (const Vec2< T > &v) |
void | scale (const Vec3< T > &v) |
void | scale (const Vec4< T > &v) |
Matrix44< T > | invertTransform () const |
Static Public Member Functions | |
static Matrix44< T > | identity () |
static Matrix44< T > | one () |
static Matrix44< T > | zero () |
static Matrix44< T > | createTranslation (const Vec3< T > &v, T w=1) |
static Matrix44< T > | createTranslation (const Vec4< T > &v) |
static Matrix44< T > | createRotation (const Vec3< T > &axis, T radians) |
static Matrix44< T > | createRotation (const Vec4< T > &axis, T radians) |
static Matrix44< T > | createRotation (const Vec3< T > &from, const Vec3< T > &to, const Vec3< T > &worldUp) |
static Matrix44< T > | createRotation (const Vec4< T > &from, const Vec4< T > &to, const Vec4< T > &worldUp) |
static Matrix44< T > | createRotation (const Vec3< T > &eulerRadians) |
static Matrix44< T > | createRotation (const Vec4< T > &eulerRadians) |
static Matrix44< T > | createScale (T s) |
static Matrix44< T > | createScale (const Vec2< T > &v) |
static Matrix44< T > | createScale (const Vec3< T > &v) |
static Matrix44< T > | createScale (const Vec4< T > &v) |
static Matrix44< T > | alignZAxisWithTarget (Vec3< T > targetDir, Vec3< T > upDir) |
static Matrix44< T > | alignZAxisWithTarget (Vec4< T > targetDir, Vec4< T > upDir) |
Public Attributes | |
union { | |
T m [16] | |
struct { | |
T m00 | |
T m10 | |
T m20 | |
T m30 | |
T m01 | |
T m11 | |
T m21 | |
T m31 | |
T m02 | |
T m12 | |
T m22 | |
T m32 | |
T m03 | |
T m13 | |
T m23 | |
T m33 | |
} | |
T mcols [4][4] | |
}; | |
Static Public Attributes | |
static const size_t | DIM = 4 |
static const size_t | DIM_SQ = DIM*DIM |
static const size_t | MEM_LEN = sizeof(T)*DIM_SQ |
Friends | |
std::ostream & | operator<< (std::ostream &lhs, const Matrix44< T > &rhs) |
typedef T cinder::Matrix44< T >::TYPE |
cinder::Matrix44< T >::Matrix44 | ( | ) |
cinder::Matrix44< T >::Matrix44 | ( | T | s ) |
cinder::Matrix44< T >::Matrix44 | ( | const T * | dt, |
bool | srcIsRowMajor = false |
||
) |
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, | ||
bool | srcIsRowMajor = false |
||
) |
cinder::Matrix44< T >::Matrix44 | ( | const Vec3< T > & | vx, |
const Vec3< T > & | vy, | ||
const Vec3< T > & | vz | ||
) |
cinder::Matrix44< T >::Matrix44 | ( | const Vec4< T > & | vx, |
const Vec4< T > & | vy, | ||
const Vec4< T > & | vz, | ||
const Vec4< T > & | vw = Vec4<T>( 0, 0, 0, 1 ) |
||
) |
cinder::Matrix44< T >::Matrix44 | ( | const Matrix44< FromT > & | src ) |
cinder::Matrix44< T >::Matrix44 | ( | const Matrix22< T > & | src ) |
cinder::Matrix44< T >::Matrix44 | ( | const Matrix33< T > & | src ) |
cinder::Matrix44< T >::Matrix44 | ( | const Matrix44< T > & | src ) |
cinder::Matrix44< T >::operator T * | ( | ) |
cinder::Matrix44< T >::operator const T * | ( | ) | const |
Matrix44< T > & cinder::Matrix44< T >::operator= | ( | const Matrix44< T > & | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator= | ( | T | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator= | ( | const Matrix44< FromT > & | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator= | ( | const Matrix22< T > & | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator= | ( | const Matrix33< T > & | rhs ) |
bool cinder::Matrix44< T >::equalCompare | ( | const Matrix44< T > & | rhs, |
T | epsilon | ||
) | const |
bool cinder::Matrix44< T >::operator== | ( | const Matrix44< T > & | rhs ) | const |
bool cinder::Matrix44< T >::operator!= | ( | const Matrix44< T > & | rhs ) | const |
Matrix44< T > & cinder::Matrix44< T >::operator*= | ( | const Matrix44< T > & | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator+= | ( | const Matrix44< T > & | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator-= | ( | const Matrix44< T > & | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator*= | ( | T | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator/= | ( | T | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator+= | ( | T | rhs ) |
Matrix44< T > & cinder::Matrix44< T >::operator-= | ( | T | rhs ) |
const Matrix44< T > cinder::Matrix44< T >::operator* | ( | const Matrix44< T > & | rhs ) | const |
const Matrix44< T > cinder::Matrix44< T >::operator+ | ( | const Matrix44< T > & | rhs ) | const |
const Matrix44< T > cinder::Matrix44< T >::operator- | ( | const Matrix44< T > & | rhs ) | const |
const Vec3< T > cinder::Matrix44< T >::operator* | ( | const Vec3< T > & | rhs ) | const |
const Vec4< T > cinder::Matrix44< T >::operator* | ( | const Vec4< T > & | rhs ) | const |
const Matrix44< T > cinder::Matrix44< T >::operator* | ( | T | rhs ) | const |
const Matrix44< T > cinder::Matrix44< T >::operator/ | ( | T | rhs ) | const |
const Matrix44< T > cinder::Matrix44< T >::operator+ | ( | T | rhs ) | const |
const Matrix44< T > cinder::Matrix44< T >::operator- | ( | T | rhs ) | const |
T & cinder::Matrix44< T >::at | ( | int | row, |
int | col | ||
) |
const T & cinder::Matrix44< T >::at | ( | int | row, |
int | col | ||
) | const |
void cinder::Matrix44< T >::set | ( | const T * | dt, |
bool | srcIsRowMajor = false |
||
) |
void cinder::Matrix44< T >::set | ( | 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, | ||
bool | srcIsRowMajor = false |
||
) |
Vec4< T > cinder::Matrix44< T >::getColumn | ( | int | col ) | const |
void cinder::Matrix44< T >::setColumn | ( | int | col, |
const Vec4< T > & | v | ||
) |
Vec4< T > cinder::Matrix44< T >::getRow | ( | int | row ) | const |
void cinder::Matrix44< T >::setRow | ( | int | row, |
const Vec4< T > & | v | ||
) |
void cinder::Matrix44< T >::getColumns | ( | Vec4< T > * | c0, |
Vec4< T > * | c1, | ||
Vec4< T > * | c2, | ||
Vec4< T > * | c3 | ||
) | const |
void cinder::Matrix44< T >::setColumns | ( | const Vec4< T > & | c0, |
const Vec4< T > & | c1, | ||
const Vec4< T > & | c2, | ||
const Vec4< T > & | c3 | ||
) |
void cinder::Matrix44< T >::getRows | ( | Vec4< T > * | r0, |
Vec4< T > * | r1, | ||
Vec4< T > * | r2, | ||
Vec4< T > * | r3 | ||
) | const |
void cinder::Matrix44< T >::setRows | ( | const Vec4< T > & | r0, |
const Vec4< T > & | r1, | ||
const Vec4< T > & | r2, | ||
const Vec4< T > & | r3 | ||
) |
Matrix22< T > cinder::Matrix44< T >::subMatrix22 | ( | int | row, |
int | col | ||
) | const |
Matrix33< T > cinder::Matrix44< T >::subMatrix33 | ( | int | row, |
int | col | ||
) | const |
void cinder::Matrix44< T >::setToNull | ( | ) |
void cinder::Matrix44< T >::setToIdentity | ( | ) |
T cinder::Matrix44< T >::determinant | ( | ) | const |
T cinder::Matrix44< T >::trace | ( | bool | fullTrace = false ) |
const |
Matrix44< T > cinder::Matrix44< T >::diagonal | ( | ) | const |
Matrix44< T > cinder::Matrix44< T >::lowerTriangular | ( | ) | const |
Matrix44< T > cinder::Matrix44< T >::upperTriangular | ( | ) | const |
void cinder::Matrix44< T >::transpose | ( | ) |
Matrix44< T > cinder::Matrix44< T >::transposed | ( | ) | const |
void cinder::Matrix44< T >::invert | ( | T | epsilon = EPSILON ) |
Matrix44< T > cinder::Matrix44< T >::inverted | ( | T | epsilon = EPSILON ) |
const |
Vec3< T > cinder::Matrix44< T >::preMultiply | ( | const Vec3< T > & | v ) | const |
Vec4< T > cinder::Matrix44< T >::preMultiply | ( | const Vec4< T > & | v ) | const |
Vec3< T > cinder::Matrix44< T >::postMultiply | ( | const Vec3< T > & | v ) | const |
Vec4< T > cinder::Matrix44< T >::postMultiply | ( | const Vec4< T > & | v ) | const |
void cinder::Matrix44< T >::affineInvert | ( | ) |
Matrix44< T > cinder::Matrix44< T >::affineInverted | ( | ) | const |
Vec3< T > cinder::Matrix44< T >::transformPoint | ( | const Vec3< T > & | rhs ) | const |
Vec3< T > cinder::Matrix44< T >::transformPointAffine | ( | const Vec3< T > & | rhs ) | const |
Vec3< T > cinder::Matrix44< T >::transformVec | ( | const Vec3< T > & | rhs ) | const |
Vec4<T> cinder::Matrix44< T >::transformVec | ( | const Vec4< T > & | rhs ) | const |
Vec4<T> cinder::Matrix44< T >::getTranslate | ( | ) | const |
void cinder::Matrix44< T >::setTranslate | ( | const Vec3< T > & | v ) |
void cinder::Matrix44< T >::setTranslate | ( | const Vec4< T > & | v ) |
void cinder::Matrix44< T >::translate | ( | const Vec3< T > & | tr ) |
void cinder::Matrix44< T >::translate | ( | const Vec4< T > & | tr ) |
void cinder::Matrix44< T >::rotate | ( | const Vec3< T > & | axis, |
T | radians | ||
) |
void cinder::Matrix44< T >::rotate | ( | const Vec4< T > & | axis, |
T | radians | ||
) |
void cinder::Matrix44< T >::rotate | ( | const Vec3< T > & | eulerRadians ) |
void cinder::Matrix44< T >::rotate | ( | const Vec4< T > & | eulerRadians ) |
void cinder::Matrix44< T >::rotate | ( | const Vec3< T > & | from, |
const Vec3< T > & | to, | ||
const Vec3< T > & | worldUp | ||
) |
void cinder::Matrix44< T >::rotate | ( | const Vec4< T > & | from, |
const Vec4< T > & | to, | ||
const Vec4< T > & | worldUp | ||
) |
void cinder::Matrix44< T >::scale | ( | T | s ) |
void cinder::Matrix44< T >::scale | ( | const Vec2< T > & | v ) |
void cinder::Matrix44< T >::scale | ( | const Vec3< T > & | v ) |
void cinder::Matrix44< T >::scale | ( | const Vec4< T > & | v ) |
Matrix44< T > cinder::Matrix44< T >::invertTransform | ( | ) | const |
static Matrix44<T> cinder::Matrix44< T >::identity | ( | ) | [static] |
static Matrix44<T> cinder::Matrix44< T >::one | ( | ) | [static] |
static Matrix44<T> cinder::Matrix44< T >::zero | ( | ) | [static] |
Matrix44< T > cinder::Matrix44< T >::createTranslation | ( | const Vec3< T > & | v, |
T | w = 1 |
||
) | [static] |
static Matrix44<T> cinder::Matrix44< T >::createTranslation | ( | const Vec4< T > & | v ) | [static] |
Matrix44< T > cinder::Matrix44< T >::createRotation | ( | const Vec3< T > & | axis, |
T | radians | ||
) | [static] |
static Matrix44<T> cinder::Matrix44< T >::createRotation | ( | const Vec4< T > & | axis, |
T | radians | ||
) | [static] |
Matrix44< T > cinder::Matrix44< T >::createRotation | ( | const Vec3< T > & | from, |
const Vec3< T > & | to, | ||
const Vec3< T > & | worldUp | ||
) | [static] |
static Matrix44<T> cinder::Matrix44< T >::createRotation | ( | const Vec4< T > & | from, |
const Vec4< T > & | to, | ||
const Vec4< T > & | worldUp | ||
) | [static] |
Matrix44< T > cinder::Matrix44< T >::createRotation | ( | const Vec3< T > & | eulerRadians ) | [static] |
static Matrix44<T> cinder::Matrix44< T >::createRotation | ( | const Vec4< T > & | eulerRadians ) | [static] |
Matrix44< T > cinder::Matrix44< T >::createScale | ( | T | s ) | [static] |
Matrix44< T > cinder::Matrix44< T >::createScale | ( | const Vec2< T > & | v ) | [static] |
Matrix44< T > cinder::Matrix44< T >::createScale | ( | const Vec3< T > & | v ) | [static] |
Matrix44< T > cinder::Matrix44< T >::createScale | ( | const Vec4< T > & | v ) | [static] |
Matrix44< T > cinder::Matrix44< T >::alignZAxisWithTarget | ( | Vec3< T > | targetDir, |
Vec3< T > | upDir | ||
) | [static] |
static Matrix44<T> cinder::Matrix44< T >::alignZAxisWithTarget | ( | Vec4< T > | targetDir, |
Vec4< T > | upDir | ||
) | [static] |
std::ostream& operator<< | ( | std::ostream & | lhs, |
const Matrix44< T > & | rhs | ||
) | [friend] |
const size_t cinder::Matrix44< T >::DIM = 4 [static] |
const size_t cinder::Matrix44< T >::DIM_SQ = DIM*DIM [static] |
const size_t cinder::Matrix44< T >::MEM_LEN = sizeof(T)*DIM_SQ [static] |
T cinder::Matrix44< T >::m[16] |
T cinder::Matrix44< T >::m00 |
T cinder::Matrix44< T >::m10 |
T cinder::Matrix44< T >::m20 |
T cinder::Matrix44< T >::m30 |
T cinder::Matrix44< T >::m01 |
T cinder::Matrix44< T >::m11 |
T cinder::Matrix44< T >::m21 |
T cinder::Matrix44< T >::m31 |
T cinder::Matrix44< T >::m02 |
T cinder::Matrix44< T >::m12 |
T cinder::Matrix44< T >::m22 |
T cinder::Matrix44< T >::m32 |
T cinder::Matrix44< T >::m03 |
T cinder::Matrix44< T >::m13 |
T cinder::Matrix44< T >::m23 |
T cinder::Matrix44< T >::m33 |
T cinder::Matrix44< T >::mcols[4][4] |
union { ... } |