iso::math::Matrix4< Type > Class Template Reference

4x4 matrix class More...

#include <iso_math_matrix4.h>

Inherits iso::math::Matrix< Type >< Type >.

Inheritance diagram for iso::math::Matrix4< Type >:

Inheritance graph
[legend]
Collaboration diagram for iso::math::Matrix4< Type >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Matrix4 ()
 create zero matrix
 Matrix4 (Type pValue)
 create matrix containing identical values
 Matrix4 (Type *pValues)
 create matrix
 Matrix4 (Type p00, Type p01, Type p02, Type p03, Type p10, Type p11, Type p12, Type p13, Type p20, Type p21, Type p22, Type p23, Type p30, Type p31, Type p32, Type p33)
 create matrix
 Matrix4 (const Vector4< Type > &pV0, const Vector4< Type > &pV1, const Vector4< Type > &pV2, const Vector4< Type > &pV3, bool pColumnMode=false)
 create matrix
 Matrix4 (const Matrix4< Type > &pMatrix)
 copy constructor
template<class Type2>
 Matrix4 (const Matrix4< Type2 > &pMatrix)
 copy constructor
 Matrix4 (const Matrix< Type > &pMatrix) throw (MathException)
 copy constructor
virtual ~Matrix4 ()
 destructor
void set (Type p00, Type p01, Type p02, Type p03, Type p10, Type p11, Type p12, Type p13, Type p20, Type p21, Type p22, Type p23, Type p30, Type p31, Type p32, Type p33)
 set matrix values
void set (const Vector4< Type > &pV0, const Vector4< Type > &pV1, const Vector4< Type > &pV2, const Vector4< Type > &pV3, bool pColumnMode=false)
 set matrix values
void rotateX (const Type pAngle)
 rotate around x axis
void rotateY (const Type pAngle)
 rotate around y axis
void rotateZ (const Type pAngle)
 rotate around z axis
void rotate (Type pAngle, const Vector3< Type > &pAxis)
 rotate around arbitrary axis
void scale (const Type pScale[3])
 change non uniform scale
void scale (const Type pScaleX, const Type pScaleY, const Type pScaleZ)
 change non uniform scale
void scale (const Vector3< Type > &pScale)
 change non uniform scale
void translate (const Type pTransX, const Type pTransY, const Type pTransZ)
 change translation
void translate (const Type pTrans[3])
 change translation
void translate (const Vector3< Type > &pTrans)
 change translation
void setRotationX (const Type pAngle)
 set rotation around x axis
void setRotationY (const Type pAngle)
 set rotation around y axis
void setRotationZ (const Type pAngle)
 set rotation around z axis
void setRotation (Type pAngle, const Vector3< Type > &pAxis)
 set rotation around arbitrary axis
void setScale (const Type pScale[3])
 set non uniform scale
void setScale (const Type pScaleX, const Type pScaleY, const Type pScaleZ)
 set non uniform scale
void setScale (const Vector3< Type > &pScale)
 set non uniform scale
void setTranslation (const Type pTransX, const Type pTransY, const Type pTransZ)
 set translation
void setTranslation (const Type pTrans[3])
 set translation
void setTranslation (const Vector3< Type > &pTrans)
 set translation

Static Public Attributes

static const Matrix4< Type > ZERO
 zero matrix
static const Matrix4< Type > IDENTITY
 identity matrix

Detailed Description

template<class Type>
class iso::math::Matrix4< Type >

4x4 matrix class

class

Created by Daniel Bisig on 7/16/06. Copyright 2006 Daniel Bisig All rights reserved.


Constructor & Destructor Documentation

template<class Type>
iso::math::Matrix4< Type >::Matrix4 (  ) 

create zero matrix

template<class Type>
iso::math::Matrix4< Type >::Matrix4 ( Type  pValue  ) 

create matrix containing identical values

Parameters:
pValue value

template<class Type>
iso::math::Matrix4< Type >::Matrix4 ( Type *  pValues  ) 

create matrix

Parameters:
pValues values (must be of correct size!)

template<class Type>
iso::math::Matrix4< Type >::Matrix4 ( Type  p00,
Type  p01,
Type  p02,
Type  p03,
Type  p10,
Type  p11,
Type  p12,
Type  p13,
Type  p20,
Type  p21,
Type  p22,
Type  p23,
Type  p30,
Type  p31,
Type  p32,
Type  p33 
)

create matrix

Parameters:
p00 value
p01 value
p02 value
p03 value
p10 value
p11 value
p12 value
p13 value
p20 value
p21 value
p22 value
p23 value
p30 value
p31 value
p32 value
p33 value

template<class Type>
iso::math::Matrix4< Type >::Matrix4 ( const Vector4< Type > &  pV0,
const Vector4< Type > &  pV1,
const Vector4< Type > &  pV2,
const Vector4< Type > &  pV3,
bool  pColumnMode = false 
)

create matrix

Parameters:
pV0 vector
pV1 vector
pV2 vector
pV3 vector
pColumnMode true: vectors represent matrix columns false: vectors represent matrix rows

template<class Type>
iso::math::Matrix4< Type >::Matrix4 ( const Matrix4< Type > &  pMatrix  ) 

copy constructor

Parameters:
pMatrix matrix

template<class Type>
template<class Type2>
iso::math::Matrix4< Type >::Matrix4 ( const Matrix4< Type2 > &  pMatrix  ) 

copy constructor

Parameters:
pMatrix matrix

template<class Type>
iso::math::Matrix4< Type >::Matrix4 ( const Matrix< Type > &  pMatrix  )  throw (MathException)

copy constructor

Parameters:
pMatrix matrix
Exceptions:
MathException pMatrix not a 4x4 matrix

template<class Type>
iso::math::Matrix4< Type >::~Matrix4 (  )  [virtual]

destructor


Member Function Documentation

template<class Type>
void iso::math::Matrix4< Type >::set ( Type  p00,
Type  p01,
Type  p02,
Type  p03,
Type  p10,
Type  p11,
Type  p12,
Type  p13,
Type  p20,
Type  p21,
Type  p22,
Type  p23,
Type  p30,
Type  p31,
Type  p32,
Type  p33 
)

set matrix values

Parameters:
p00 value
p01 value
p02 value
p03 value
p10 value
p11 value
p12 value
p13 value
p20 value
p21 value
p22 value
p23 value
p30 value
p31 value
p32 value
p33 value

template<class Type>
void iso::math::Matrix4< Type >::set ( const Vector4< Type > &  pV0,
const Vector4< Type > &  pV1,
const Vector4< Type > &  pV2,
const Vector4< Type > &  pV3,
bool  pColumnMode = false 
)

set matrix values

Parameters:
pV0 vector
pV1 vector
pV2 vector
pV3 vector
pColumnMode true: vectors represent matrix columns false: vectors represent matrix rows

template<class Type>
void iso::math::Matrix4< Type >::rotateX ( const Type  pAngle  ) 

rotate around x axis

Parameters:
pAngle angle of rotation

template<class Type>
void iso::math::Matrix4< Type >::rotateY ( const Type  pAngle  ) 

rotate around y axis

Parameters:
pAngle angle of rotation

template<class Type>
void iso::math::Matrix4< Type >::rotateZ ( const Type  pAngle  ) 

rotate around z axis

Parameters:
pAngle angle of rotation

template<class Type>
void iso::math::Matrix4< Type >::rotate ( Type  pAngle,
const Vector3< Type > &  pAxis 
)

rotate around arbitrary axis

Parameters:
pAngle angle of rotation
pAxis axis of rotation

template<class Type>
void iso::math::Matrix4< Type >::scale ( const Type  pScale[3]  ) 

change non uniform scale

Parameters:
pScale non uniform scale

template<class Type>
void iso::math::Matrix4< Type >::scale ( const Type  pScaleX,
const Type  pScaleY,
const Type  pScaleZ 
)

change non uniform scale

Parameters:
pScaleX scale along x axis
pScaleY scale along y axis
pScaleZ scale along z axis

template<class Type>
void iso::math::Matrix4< Type >::scale ( const Vector3< Type > &  pScale  ) 

change non uniform scale

Parameters:
pScale non uniform scale

template<class Type>
void iso::math::Matrix4< Type >::translate ( const Type  pTransX,
const Type  pTransY,
const Type  pTransZ 
)

change translation

Parameters:
pTransX translation along x axis
pTransY translation along y axis
pTransZ translation along z axis

template<class Type>
void iso::math::Matrix4< Type >::translate ( const Type  pTrans[3]  ) 

change translation

Parameters:
pTrans translation

template<class Type>
void iso::math::Matrix4< Type >::translate ( const Vector3< Type > &  pTrans  ) 

change translation

Parameters:
pTrans translation

template<class Type>
void iso::math::Matrix4< Type >::setRotationX ( const Type  pAngle  ) 

set rotation around x axis

Parameters:
pAngle angle of rotation

template<class Type>
void iso::math::Matrix4< Type >::setRotationY ( const Type  pAngle  ) 

set rotation around y axis

Parameters:
pAngle angle of rotation

template<class Type>
void iso::math::Matrix4< Type >::setRotationZ ( const Type  pAngle  ) 

set rotation around z axis

Parameters:
pAngle angle of rotation

template<class Type>
void iso::math::Matrix4< Type >::setRotation ( Type  pAngle,
const Vector3< Type > &  pAxis 
)

set rotation around arbitrary axis

Parameters:
pAngle angle of rotation
pAxis axis of rotation

template<class Type>
void iso::math::Matrix4< Type >::setScale ( const Type  pScale[3]  ) 

set non uniform scale

Parameters:
pScale non uniform scale

template<class Type>
void iso::math::Matrix4< Type >::setScale ( const Type  pScaleX,
const Type  pScaleY,
const Type  pScaleZ 
)

set non uniform scale

Parameters:
pScaleX scale along x axis
pScaleY scale along y axis
pScaleZ scale along z axis

template<class Type>
void iso::math::Matrix4< Type >::setScale ( const Vector3< Type > &  pScale  ) 

set non uniform scale

Parameters:
pScale non uniform scale

template<class Type>
void iso::math::Matrix4< Type >::setTranslation ( const Type  pTransX,
const Type  pTransY,
const Type  pTransZ 
)

set translation

Parameters:
pTransX translation along x axis
pTransY translation along y axis
pTransZ translation along z axis

template<class Type>
void iso::math::Matrix4< Type >::setTranslation ( const Type  pTrans[3]  ) 

set translation

Parameters:
pTrans translation

template<class Type>
void iso::math::Matrix4< Type >::setTranslation ( const Vector3< Type > &  pTrans  ) 

set translation

Parameters:
pTrans translation


Member Data Documentation

template<class Type>
const Matrix4< Type > iso::math::Matrix4< Type >::ZERO [static]

zero matrix

template<class Type>
const Matrix4< Type > iso::math::Matrix4< Type >::IDENTITY [static]

identity matrix


The documentation for this class was generated from the following file:
Generated on Fri Feb 25 14:04:07 2011 for iso_math by  doxygen 1.5.1