#include <Matrix22.h>
Public Types | |
typedef T | TYPE |
Public Member Functions | |
Matrix22 () | |
Matrix22 (T s) | |
Matrix22 (const T *dt, bool srcIsRowMajor=false) | |
Matrix22 (T d0, T d1, T d2, T d3, bool srcIsRowMajor=false) | |
Matrix22 (const Vec2< T > &vx, const Vec2< T > &vy) | |
template<typename FromT > | |
Matrix22 (const Matrix22< FromT > &src) | |
Matrix22 (const Matrix22< T > &src) | |
operator T * () | |
operator const T * () const | |
Matrix22< T > & | operator= (const Matrix22< T > &rhs) |
Matrix22< T > & | operator= (const T &rhs) |
template<typename FromT > | |
Matrix22< T > & | operator= (const Matrix22< FromT > &rhs) |
bool | equalCompare (const Matrix22< T > &rhs, T epsilon) const |
bool | operator== (const Matrix22< T > &rhs) const |
bool | operator!= (const Matrix22< T > &rhs) const |
Matrix22< T > & | operator*= (const Matrix22< T > &rhs) |
Matrix22< T > & | operator+= (const Matrix22< T > &rhs) |
Matrix22< T > & | operator-= (const Matrix22< T > &rhs) |
Matrix22< T > & | operator*= (T s) |
Matrix22< T > & | operator/= (T s) |
Matrix22< T > & | operator+= (T s) |
Matrix22< T > & | operator-= (T s) |
const Matrix22< T > | operator* (const Matrix22< T > &rhs) const |
const Matrix22< T > | operator+ (const Matrix22< T > &rhs) const |
const Matrix22< T > | operator- (const Matrix22< T > &rhs) const |
const Vec2< T > | operator* (const Vec2< T > &rhs) const |
const Matrix22< T > | operator* (T rhs) const |
const Matrix22< T > | operator/ (T rhs) const |
const Matrix22< T > | operator+ (T rhs) const |
const Matrix22< 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, bool srcIsRowMajor=false) |
Vec2< T > | getColumn (int col) const |
void | setColumn (int col, const Vec2< T > &v) |
Vec2< T > | getRow (int row) const |
void | setRow (int row, const Vec2< T > &v) |
void | getColumns (Vec2< T > *c0, Vec2< T > *c1) const |
void | setColumns (const Vec2< T > &c0, const Vec2< T > &c1) |
void | getRows (Vec2< T > *r0, Vec2< T > *r1) const |
void | setRows (const Vec2< T > &r0, const Vec2< T > &r1) |
void | setToNull () |
void | setToIdentity () |
T | determinant () const |
T | trace () const |
Matrix22< T > | diagonal () const |
Matrix22< T > | lowerTriangular () const |
Matrix22< T > | upperTriangular () const |
void | transpose () |
Matrix22< T > | transposed () const |
void | invert (T epsilon=EPSILON) |
Matrix22< T > | inverted (T epsilon=EPSILON) const |
Vec2< T > | preMultiply (const Vec2< T > &v) const |
Vec2< T > | postMultiply (const Vec2< T > &v) const |
Vec2< T > | transformVec (const Vec2< T > &v) const |
void | rotate (T radians) |
void | scale (T s) |
void | scale (const Vec2< T > &v) |
Matrix22< T > | invertTransform () const |
Static Public Member Functions | |
static Matrix22< T > | identity () |
static Matrix22< T > | one () |
static Matrix22< T > | zero () |
static Matrix22< T > | createRotation (T radians) |
static Matrix22< T > | createScale (T s) |
static Matrix22< T > | createScale (const Vec2< T > &v) |
Public Attributes | |
union { | |
T m [4] | |
struct { | |
T m00 | |
T m10 | |
T m01 | |
T m11 | |
} | |
T mcols [2][2] | |
}; | |
Static Public Attributes | |
static const size_t | DIM = 2 |
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 Matrix22< T > &rhs) |
typedef T cinder::Matrix22< T >::TYPE |
cinder::Matrix22< T >::Matrix22 | ( | ) |
cinder::Matrix22< T >::Matrix22 | ( | T | s | ) |
cinder::Matrix22< T >::Matrix22 | ( | const T * | dt, | |
bool | srcIsRowMajor = false | |||
) |
cinder::Matrix22< T >::Matrix22 | ( | T | d0, | |
T | d1, | |||
T | d2, | |||
T | d3, | |||
bool | srcIsRowMajor = false | |||
) |
cinder::Matrix22< T >::Matrix22 | ( | const Vec2< T > & | vx, | |
const Vec2< T > & | vy | |||
) |
cinder::Matrix22< T >::Matrix22 | ( | const Matrix22< FromT > & | src | ) |
cinder::Matrix22< T >::Matrix22 | ( | const Matrix22< T > & | src | ) |
cinder::Matrix22< T >::operator T * | ( | ) |
cinder::Matrix22< T >::operator const T * | ( | ) | const |
Matrix22< T > & cinder::Matrix22< T >::operator= | ( | const Matrix22< T > & | rhs | ) |
Matrix22< T > & cinder::Matrix22< T >::operator= | ( | const T & | rhs | ) |
Matrix22< T > & cinder::Matrix22< T >::operator= | ( | const Matrix22< FromT > & | rhs | ) |
bool cinder::Matrix22< T >::equalCompare | ( | const Matrix22< T > & | rhs, | |
T | epsilon | |||
) | const |
bool cinder::Matrix22< T >::operator== | ( | const Matrix22< T > & | rhs | ) | const |
bool cinder::Matrix22< T >::operator!= | ( | const Matrix22< T > & | rhs | ) | const |
Matrix22< T > & cinder::Matrix22< T >::operator*= | ( | const Matrix22< T > & | rhs | ) |
Matrix22< T > & cinder::Matrix22< T >::operator+= | ( | const Matrix22< T > & | rhs | ) |
Matrix22< T > & cinder::Matrix22< T >::operator-= | ( | const Matrix22< T > & | rhs | ) |
Matrix22< T > & cinder::Matrix22< T >::operator*= | ( | T | s | ) |
Matrix22< T > & cinder::Matrix22< T >::operator/= | ( | T | s | ) |
Matrix22< T > & cinder::Matrix22< T >::operator+= | ( | T | s | ) |
Matrix22< T > & cinder::Matrix22< T >::operator-= | ( | T | s | ) |
const Matrix22< T > cinder::Matrix22< T >::operator* | ( | const Matrix22< T > & | rhs | ) | const |
const Matrix22< T > cinder::Matrix22< T >::operator+ | ( | const Matrix22< T > & | rhs | ) | const |
const Matrix22< T > cinder::Matrix22< T >::operator- | ( | const Matrix22< T > & | rhs | ) | const |
const Vec2< T > cinder::Matrix22< T >::operator* | ( | const Vec2< T > & | rhs | ) | const |
const Matrix22< T > cinder::Matrix22< T >::operator* | ( | T | rhs | ) | const |
const Matrix22< T > cinder::Matrix22< T >::operator/ | ( | T | rhs | ) | const |
const Matrix22< T > cinder::Matrix22< T >::operator+ | ( | T | rhs | ) | const |
const Matrix22< T > cinder::Matrix22< T >::operator- | ( | T | rhs | ) | const |
T & cinder::Matrix22< T >::at | ( | int | row, | |
int | col | |||
) |
const T & cinder::Matrix22< T >::at | ( | int | row, | |
int | col | |||
) | const |
void cinder::Matrix22< T >::set | ( | const T * | dt, | |
bool | srcIsRowMajor = false | |||
) |
void cinder::Matrix22< T >::set | ( | T | d0, | |
T | d1, | |||
T | d2, | |||
T | d3, | |||
bool | srcIsRowMajor = false | |||
) |
Vec2< T > cinder::Matrix22< T >::getColumn | ( | int | col | ) | const |
void cinder::Matrix22< T >::setColumn | ( | int | col, | |
const Vec2< T > & | v | |||
) |
Vec2< T > cinder::Matrix22< T >::getRow | ( | int | row | ) | const |
void cinder::Matrix22< T >::setRow | ( | int | row, | |
const Vec2< T > & | v | |||
) |
void cinder::Matrix22< T >::getColumns | ( | Vec2< T > * | c0, | |
Vec2< T > * | c1 | |||
) | const |
void cinder::Matrix22< T >::setColumns | ( | const Vec2< T > & | c0, | |
const Vec2< T > & | c1 | |||
) |
void cinder::Matrix22< T >::getRows | ( | Vec2< T > * | r0, | |
Vec2< T > * | r1 | |||
) | const |
void cinder::Matrix22< T >::setRows | ( | const Vec2< T > & | r0, | |
const Vec2< T > & | r1 | |||
) |
void cinder::Matrix22< T >::setToNull | ( | ) |
void cinder::Matrix22< T >::setToIdentity | ( | ) |
T cinder::Matrix22< T >::determinant | ( | ) | const |
T cinder::Matrix22< T >::trace | ( | ) | const |
Matrix22< T > cinder::Matrix22< T >::diagonal | ( | ) | const |
Matrix22< T > cinder::Matrix22< T >::lowerTriangular | ( | ) | const |
Matrix22< T > cinder::Matrix22< T >::upperTriangular | ( | ) | const |
void cinder::Matrix22< T >::transpose | ( | ) |
Matrix22< T > cinder::Matrix22< T >::transposed | ( | ) | const |
void cinder::Matrix22< T >::invert | ( | T | epsilon = EPSILON |
) |
Matrix22< T > cinder::Matrix22< T >::inverted | ( | T | epsilon = EPSILON |
) | const |
Vec2< T > cinder::Matrix22< T >::preMultiply | ( | const Vec2< T > & | v | ) | const |
Vec2< T > cinder::Matrix22< T >::postMultiply | ( | const Vec2< T > & | v | ) | const |
Vec2<T> cinder::Matrix22< T >::transformVec | ( | const Vec2< T > & | v | ) | const |
void cinder::Matrix22< T >::rotate | ( | T | radians | ) |
void cinder::Matrix22< T >::scale | ( | T | s | ) |
void cinder::Matrix22< T >::scale | ( | const Vec2< T > & | v | ) |
Matrix22< T > cinder::Matrix22< T >::invertTransform | ( | ) | const |
static Matrix22<T> cinder::Matrix22< T >::identity | ( | ) | [static] |
static Matrix22<T> cinder::Matrix22< T >::one | ( | ) | [static] |
static Matrix22<T> cinder::Matrix22< T >::zero | ( | ) | [static] |
Matrix22< T > cinder::Matrix22< T >::createRotation | ( | T | radians | ) | [static] |
Matrix22< T > cinder::Matrix22< T >::createScale | ( | T | s | ) | [static] |
Matrix22< T > cinder::Matrix22< T >::createScale | ( | const Vec2< T > & | v | ) | [static] |
std::ostream& operator<< | ( | std::ostream & | lhs, | |
const Matrix22< T > & | rhs | |||
) | [friend] |
const size_t cinder::Matrix22< T >::DIM = 2 [static] |
const size_t cinder::Matrix22< T >::DIM_SQ = DIM*DIM [static] |
const size_t cinder::Matrix22< T >::MEM_LEN = sizeof(T)*DIM_SQ [static] |
T cinder::Matrix22< T >::m[4] |
T cinder::Matrix22< T >::m00 |
T cinder::Matrix22< T >::m10 |
T cinder::Matrix22< T >::m01 |
T cinder::Matrix22< T >::m11 |
T cinder::Matrix22< T >::mcols[2][2] |
union { ... } |