Sirikata
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
Sirikata::Matrix4x4< scalar > Class Template Reference

#include <Matrix4x4.hpp>

Collaboration diagram for Sirikata::Matrix4x4< scalar >:

List of all members.

Classes

class  COLUMN_MAJOR
class  COLUMNS
class  ROW_MAJOR
class  ROWS

Public Types

enum  Dimension { X = 0, Y = 1, Z = 2, W = 3 }
typedef Vector3< scalar > Vector3x
typedef Vector4< scalar > Vector4x
typedef scalar real

Public Member Functions

 Matrix4x4 ()
 Matrix4x4 (const Vector4x &col1, const Vector4x &col2, const Vector4x &col3, const Vector4x &col4, COLUMNS c)
 Matrix4x4 (const Vector4x &row1, const Vector4x &row2, const Vector4x &row3, const Vector4x &row4, ROWS r)
template<typename T >
 Matrix4x4 (const T &other, COLUMN_MAJOR c)
template<typename T >
 Matrix4x4 (const T &other, ROW_MAJOR r)
template<typename T >
 Matrix4x4 (T *other, COLUMN_MAJOR c)
template<typename T >
 Matrix4x4 (T *other, ROW_MAJOR c)
const Vector4xgetCol (unsigned int which) const
void setCol (unsigned int which, const Vector4x &col)
Vector4x getRow (unsigned int which) const
void setRow (unsigned int which, const Vector4x &row)
scalar & operator() (unsigned int row, unsigned int column)
scalar operator() (unsigned int row, unsigned int column) const
template<typename T >
Vector4< T > operator* (const Vector4< T > &other) const
template<typename T >
Vector3< T > operator* (const Vector3< T > &other) const
Matrix4x4 operator* (scalar other) const
Matrix4x4 operator/ (scalar other) const
bool operator== (const Matrix4x4 &other) const
bool operator!= (const Matrix4x4 &other) const
Matrix4x4 operator+ (const Matrix4x4 &other) const
Matrix4x4 operator- (const Matrix4x4 &other) const
Matrix4x4 operator- () const
Matrix4x4operator+= (const Matrix4x4 &other)
Matrix4x4operator-= (const Matrix4x4 &other)
Matrix4x4 operator* (const Matrix4x4 &other) const
Matrix4x4operator*= (const Matrix4x4 &other)
Matrix4x4operator*= (scalar other)
Matrix4x4operator/= (scalar other)
Matrix4x4 transpose () const
scalar invert (Matrix4x4 &inv) const
Matrix3x3< scalar > extract3x3 () const
std::string toString () const

Static Public Member Functions

static const Matrix4x4zero ()
static const Matrix4x4identity ()
static Matrix4x4 swapDimensions (Dimension old_up, Dimension new_up)
static Matrix4x4 reflection (Dimension across)
static Matrix4x4 scale (Dimension dim, scalar s)
static Matrix4x4 scale (scalar s)
static Matrix4x4 translate (const Vector3x &t)
static Matrix4x4 rotate (const Quaternion &r)

Private Attributes

Vector4x mCol [4]

template<typename scalar>
class Sirikata::Matrix4x4< scalar >


Member Typedef Documentation

template<typename scalar>
typedef scalar Sirikata::Matrix4x4< scalar >::real
template<typename scalar>
typedef Vector3<scalar> Sirikata::Matrix4x4< scalar >::Vector3x
template<typename scalar>
typedef Vector4<scalar> Sirikata::Matrix4x4< scalar >::Vector4x

Member Enumeration Documentation

template<typename scalar>
enum Sirikata::Matrix4x4::Dimension
Enumerator:
X 
Y 
Z 
W 

Constructor & Destructor Documentation

template<typename scalar>
Sirikata::Matrix4x4< scalar >::Matrix4x4 ( ) [inline]
template<typename scalar>
Sirikata::Matrix4x4< scalar >::Matrix4x4 ( const Vector4x col1,
const Vector4x col2,
const Vector4x col3,
const Vector4x col4,
COLUMNS  c 
) [inline]
template<typename scalar>
Sirikata::Matrix4x4< scalar >::Matrix4x4 ( const Vector4x row1,
const Vector4x row2,
const Vector4x row3,
const Vector4x row4,
ROWS  r 
) [inline]
template<typename scalar>
template<typename T >
Sirikata::Matrix4x4< scalar >::Matrix4x4 ( const T &  other,
COLUMN_MAJOR  c 
) [inline]
template<typename scalar>
template<typename T >
Sirikata::Matrix4x4< scalar >::Matrix4x4 ( const T &  other,
ROW_MAJOR  r 
) [inline]
template<typename scalar>
template<typename T >
Sirikata::Matrix4x4< scalar >::Matrix4x4 ( T *  other,
COLUMN_MAJOR  c 
) [inline]
template<typename scalar>
template<typename T >
Sirikata::Matrix4x4< scalar >::Matrix4x4 ( T *  other,
ROW_MAJOR  c 
) [inline]

Member Function Documentation

template<typename scalar>
Matrix3x3<scalar> Sirikata::Matrix4x4< scalar >::extract3x3 ( ) const [inline]
template<typename scalar>
const Vector4x& Sirikata::Matrix4x4< scalar >::getCol ( unsigned int  which) const [inline]
template<typename scalar>
Vector4x Sirikata::Matrix4x4< scalar >::getRow ( unsigned int  which) const [inline]
template<typename scalar>
static const Matrix4x4& Sirikata::Matrix4x4< scalar >::identity ( ) [inline, static]
template<typename scalar>
scalar Sirikata::Matrix4x4< scalar >::invert ( Matrix4x4< scalar > &  inv) const [inline]
template<typename scalar>
bool Sirikata::Matrix4x4< scalar >::operator!= ( const Matrix4x4< scalar > &  other) const [inline]
template<typename scalar>
scalar& Sirikata::Matrix4x4< scalar >::operator() ( unsigned int  row,
unsigned int  column 
) [inline]
template<typename scalar>
scalar Sirikata::Matrix4x4< scalar >::operator() ( unsigned int  row,
unsigned int  column 
) const [inline]
template<typename scalar>
template<typename T >
Vector3<T> Sirikata::Matrix4x4< scalar >::operator* ( const Vector3< T > &  other) const [inline]
template<typename scalar>
Matrix4x4 Sirikata::Matrix4x4< scalar >::operator* ( scalar  other) const [inline]
template<typename scalar>
template<typename T >
Vector4<T> Sirikata::Matrix4x4< scalar >::operator* ( const Vector4< T > &  other) const [inline]
template<typename scalar>
Matrix4x4 Sirikata::Matrix4x4< scalar >::operator* ( const Matrix4x4< scalar > &  other) const [inline]
template<typename scalar>
Matrix4x4& Sirikata::Matrix4x4< scalar >::operator*= ( const Matrix4x4< scalar > &  other) [inline]
template<typename scalar>
Matrix4x4& Sirikata::Matrix4x4< scalar >::operator*= ( scalar  other) [inline]
template<typename scalar>
Matrix4x4 Sirikata::Matrix4x4< scalar >::operator+ ( const Matrix4x4< scalar > &  other) const [inline]
template<typename scalar>
Matrix4x4& Sirikata::Matrix4x4< scalar >::operator+= ( const Matrix4x4< scalar > &  other) [inline]
template<typename scalar>
Matrix4x4 Sirikata::Matrix4x4< scalar >::operator- ( const Matrix4x4< scalar > &  other) const [inline]
template<typename scalar>
Matrix4x4 Sirikata::Matrix4x4< scalar >::operator- ( ) const [inline]
template<typename scalar>
Matrix4x4& Sirikata::Matrix4x4< scalar >::operator-= ( const Matrix4x4< scalar > &  other) [inline]
template<typename scalar>
Matrix4x4 Sirikata::Matrix4x4< scalar >::operator/ ( scalar  other) const [inline]
template<typename scalar>
Matrix4x4& Sirikata::Matrix4x4< scalar >::operator/= ( scalar  other) [inline]
template<typename scalar>
bool Sirikata::Matrix4x4< scalar >::operator== ( const Matrix4x4< scalar > &  other) const [inline]
template<typename scalar>
static Matrix4x4 Sirikata::Matrix4x4< scalar >::reflection ( Dimension  across) [inline, static]
template<typename scalar>
static Matrix4x4 Sirikata::Matrix4x4< scalar >::rotate ( const Quaternion r) [inline, static]
template<typename scalar>
static Matrix4x4 Sirikata::Matrix4x4< scalar >::scale ( scalar  s) [inline, static]
template<typename scalar>
static Matrix4x4 Sirikata::Matrix4x4< scalar >::scale ( Dimension  dim,
scalar  s 
) [inline, static]
template<typename scalar>
void Sirikata::Matrix4x4< scalar >::setCol ( unsigned int  which,
const Vector4x col 
) [inline]
template<typename scalar>
void Sirikata::Matrix4x4< scalar >::setRow ( unsigned int  which,
const Vector4x row 
) [inline]
template<typename scalar>
static Matrix4x4 Sirikata::Matrix4x4< scalar >::swapDimensions ( Dimension  old_up,
Dimension  new_up 
) [inline, static]
template<typename scalar>
std::string Sirikata::Matrix4x4< scalar >::toString ( ) const [inline]
template<typename scalar>
static Matrix4x4 Sirikata::Matrix4x4< scalar >::translate ( const Vector3x t) [inline, static]
template<typename scalar>
Matrix4x4 Sirikata::Matrix4x4< scalar >::transpose ( ) const [inline]
template<typename scalar>
static const Matrix4x4& Sirikata::Matrix4x4< scalar >::zero ( ) [inline, static]

Member Data Documentation

template<typename scalar>
Vector4x Sirikata::Matrix4x4< scalar >::mCol[4] [private]

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