Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Friends
cinder::Matrix22< T > Class Template Reference

#include <Matrix22.h>

List of all members.

Public Types

typedef T TYPE
typedef T value_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 ()
determinant () const
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)

template<typename T>
class cinder::Matrix22< T >


Member Typedef Documentation

template<typename T>
typedef T cinder::Matrix22< T >::TYPE
template<typename T>
typedef T cinder::Matrix22< T >::value_type

Constructor & Destructor Documentation

template<typename T >
cinder::Matrix22< T >::Matrix22 ( )
template<typename T >
cinder::Matrix22< T >::Matrix22 ( s)
template<typename T >
cinder::Matrix22< T >::Matrix22 ( const T *  dt,
bool  srcIsRowMajor = false 
)
template<typename T >
cinder::Matrix22< T >::Matrix22 ( d0,
d1,
d2,
d3,
bool  srcIsRowMajor = false 
)
template<typename T >
cinder::Matrix22< T >::Matrix22 ( const Vec2< T > &  vx,
const Vec2< T > &  vy 
)
template<typename T >
template<typename FromT >
cinder::Matrix22< T >::Matrix22 ( const Matrix22< FromT > &  src)
template<typename T >
cinder::Matrix22< T >::Matrix22 ( const Matrix22< T > &  src)

Member Function Documentation

template<typename T>
cinder::Matrix22< T >::operator T * ( )
template<typename T>
cinder::Matrix22< T >::operator const T * ( ) const
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator= ( const Matrix22< T > &  rhs)
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator= ( const T &  rhs)
template<typename T >
template<typename FromT >
Matrix22< T > & cinder::Matrix22< T >::operator= ( const Matrix22< FromT > &  rhs)
template<typename T >
bool cinder::Matrix22< T >::equalCompare ( const Matrix22< T > &  rhs,
epsilon 
) const
template<typename T>
bool cinder::Matrix22< T >::operator== ( const Matrix22< T > &  rhs) const
template<typename T>
bool cinder::Matrix22< T >::operator!= ( const Matrix22< T > &  rhs) const
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator*= ( const Matrix22< T > &  rhs)
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator+= ( const Matrix22< T > &  rhs)
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator-= ( const Matrix22< T > &  rhs)
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator*= ( s)
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator/= ( s)
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator+= ( s)
template<typename T >
Matrix22< T > & cinder::Matrix22< T >::operator-= ( s)
template<typename T >
const Matrix22< T > cinder::Matrix22< T >::operator* ( const Matrix22< T > &  rhs) const
template<typename T >
const Matrix22< T > cinder::Matrix22< T >::operator+ ( const Matrix22< T > &  rhs) const
template<typename T >
const Matrix22< T > cinder::Matrix22< T >::operator- ( const Matrix22< T > &  rhs) const
template<typename T >
const Vec2< T > cinder::Matrix22< T >::operator* ( const Vec2< T > &  rhs) const
template<typename T >
const Matrix22< T > cinder::Matrix22< T >::operator* ( rhs) const
template<typename T >
const Matrix22< T > cinder::Matrix22< T >::operator/ ( rhs) const
template<typename T >
const Matrix22< T > cinder::Matrix22< T >::operator+ ( rhs) const
template<typename T >
const Matrix22< T > cinder::Matrix22< T >::operator- ( rhs) const
template<typename T >
T & cinder::Matrix22< T >::at ( int  row,
int  col 
)
template<typename T >
const T & cinder::Matrix22< T >::at ( int  row,
int  col 
) const
template<typename T >
void cinder::Matrix22< T >::set ( const T *  dt,
bool  srcIsRowMajor = false 
)
template<typename T >
void cinder::Matrix22< T >::set ( d0,
d1,
d2,
d3,
bool  srcIsRowMajor = false 
)
template<typename T >
Vec2< T > cinder::Matrix22< T >::getColumn ( int  col) const
template<typename T >
void cinder::Matrix22< T >::setColumn ( int  col,
const Vec2< T > &  v 
)
template<typename T >
Vec2< T > cinder::Matrix22< T >::getRow ( int  row) const
template<typename T >
void cinder::Matrix22< T >::setRow ( int  row,
const Vec2< T > &  v 
)
template<typename T >
void cinder::Matrix22< T >::getColumns ( Vec2< T > *  c0,
Vec2< T > *  c1 
) const
template<typename T >
void cinder::Matrix22< T >::setColumns ( const Vec2< T > &  c0,
const Vec2< T > &  c1 
)
template<typename T >
void cinder::Matrix22< T >::getRows ( Vec2< T > *  r0,
Vec2< T > *  r1 
) const
template<typename T >
void cinder::Matrix22< T >::setRows ( const Vec2< T > &  r0,
const Vec2< T > &  r1 
)
template<typename T >
void cinder::Matrix22< T >::setToNull ( )
template<typename T >
void cinder::Matrix22< T >::setToIdentity ( )
template<typename T >
T cinder::Matrix22< T >::determinant ( ) const
template<typename T >
T cinder::Matrix22< T >::trace ( ) const
template<typename T >
Matrix22< T > cinder::Matrix22< T >::diagonal ( ) const
template<typename T >
Matrix22< T > cinder::Matrix22< T >::lowerTriangular ( ) const
template<typename T >
Matrix22< T > cinder::Matrix22< T >::upperTriangular ( ) const
template<typename T >
void cinder::Matrix22< T >::transpose ( )
template<typename T >
Matrix22< T > cinder::Matrix22< T >::transposed ( ) const
template<typename T>
void cinder::Matrix22< T >::invert ( epsilon = EPSILON)
template<typename T >
Matrix22< T > cinder::Matrix22< T >::inverted ( epsilon = EPSILON) const
template<typename T >
Vec2< T > cinder::Matrix22< T >::preMultiply ( const Vec2< T > &  v) const
template<typename T >
Vec2< T > cinder::Matrix22< T >::postMultiply ( const Vec2< T > &  v) const
template<typename T>
Vec2<T> cinder::Matrix22< T >::transformVec ( const Vec2< T > &  v) const
template<typename T>
void cinder::Matrix22< T >::rotate ( radians)
template<typename T>
void cinder::Matrix22< T >::scale ( s)
template<typename T>
void cinder::Matrix22< T >::scale ( const Vec2< T > &  v)
template<typename T >
Matrix22< T > cinder::Matrix22< T >::invertTransform ( ) const
template<typename T>
static Matrix22<T> cinder::Matrix22< T >::identity ( ) [static]
template<typename T>
static Matrix22<T> cinder::Matrix22< T >::one ( ) [static]
template<typename T>
static Matrix22<T> cinder::Matrix22< T >::zero ( ) [static]
template<typename T >
Matrix22< T > cinder::Matrix22< T >::createRotation ( radians) [static]
template<typename T >
Matrix22< T > cinder::Matrix22< T >::createScale ( s) [static]
template<typename T >
Matrix22< T > cinder::Matrix22< T >::createScale ( const Vec2< T > &  v) [static]

Friends And Related Function Documentation

template<typename T>
std::ostream& operator<< ( std::ostream &  lhs,
const Matrix22< T > &  rhs 
) [friend]

Member Data Documentation

template<typename T>
const size_t cinder::Matrix22< T >::DIM = 2 [static]
template<typename T>
const size_t cinder::Matrix22< T >::DIM_SQ = DIM*DIM [static]
template<typename T>
const size_t cinder::Matrix22< T >::MEM_LEN = sizeof(T)*DIM_SQ [static]
template<typename T>
T cinder::Matrix22< T >::m[4]
template<typename T>
T cinder::Matrix22< T >::m00
template<typename T>
T cinder::Matrix22< T >::m10
template<typename T>
T cinder::Matrix22< T >::m01
template<typename T>
T cinder::Matrix22< T >::m11
template<typename T>
T cinder::Matrix22< T >::mcols[2][2]
union { ... }

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