Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXMat4f Class Reference

Single-precision 4x4 matrix. More...

#include <FXMat4f.h>

List of all members.

Public Member Functions

 FXMat4f ()
 FXMat4f (const FXMat4f &other)
 FXMat4f (const FXMat3f &other)
 FXMat4f (FXfloat w)
 FXMat4f (FXfloat a, FXfloat b, FXfloat c, FXfloat d)
 FXMat4f (FXfloat a00, FXfloat a01, FXfloat a02, FXfloat a03, FXfloat a10, FXfloat a11, FXfloat a12, FXfloat a13, FXfloat a20, FXfloat a21, FXfloat a22, FXfloat a23, FXfloat a30, FXfloat a31, FXfloat a32, FXfloat a33)
 FXMat4f (const FXVec4f &a, const FXVec4f &b, const FXVec4f &c, const FXVec4f &d)
FXMat4foperator= (const FXMat4f &other)
FXMat4foperator= (const FXMat3f &other)
FXMat4foperator= (FXfloat w)
FXMat4fset (const FXMat4f &other)
FXMat4fset (const FXMat3f &other)
FXMat4fset (FXfloat w)
FXMat4fset (FXfloat a, FXfloat b, FXfloat c, FXfloat d)
FXMat4fset (FXfloat a00, FXfloat a01, FXfloat a02, FXfloat a03, FXfloat a10, FXfloat a11, FXfloat a12, FXfloat a13, FXfloat a20, FXfloat a21, FXfloat a22, FXfloat a23, FXfloat a30, FXfloat a31, FXfloat a32, FXfloat a33)
FXMat4fset (const FXVec4f &a, const FXVec4f &b, const FXVec4f &c, const FXVec4f &d)
FXMat4foperator+= (const FXMat4f &w)
FXMat4foperator-= (const FXMat4f &w)
FXMat4foperator*= (const FXMat4f &w)
FXMat4foperator*= (FXfloat w)
FXMat4foperator/= (FXfloat w)
FXVec4foperator[] (FXint i)
const FXVec4foperator[] (FXint i) const
 operator FXfloat * ()
 operator const FXfloat * () const
FXMat4f operator- () const
FXMat4f operator+ (const FXMat4f &w) const
FXMat4f operator- (const FXMat4f &w) const
FXMat4f operator* (const FXMat4f &w) const
FXVec4f operator* (const FXVec4f &v) const
FXVec3f operator* (const FXVec3f &v) const
FXbool operator== (const FXMat4f &a) const
FXbool operator!= (const FXMat4f &a) const
FXMat4fidentity ()
FXbool isIdentity () const
FXMat4fsetOrtho (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
void getOrtho (FXfloat &xlo, FXfloat &xhi, FXfloat &ylo, FXfloat &yhi, FXfloat &zlo, FXfloat &zhi) const
FXMat4fsetInverseOrtho (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
FXMat4fsetFrustum (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
void getFrustum (FXfloat &xlo, FXfloat &xhi, FXfloat &ylo, FXfloat &yhi, FXfloat &zlo, FXfloat &zhi) const
FXMat4fsetInverseFrustum (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
FXMat4fleft ()
FXMat4frot (const FXMat3f &r)
FXMat4frot (const FXQuatf &q)
FXMat4frot (const FXVec3f &v, FXfloat c, FXfloat s)
FXMat4frot (const FXVec3f &v, FXfloat phi)
FXMat4fxrot (FXfloat c, FXfloat s)
FXMat4fxrot (FXfloat phi)
FXMat4fyrot (FXfloat c, FXfloat s)
FXMat4fyrot (FXfloat phi)
FXMat4fzrot (FXfloat c, FXfloat s)
FXMat4fzrot (FXfloat phi)
FXMat4flook (const FXVec3f &from, const FXVec3f &to, const FXVec3f &up)
FXMat4ftrans (FXfloat tx, FXfloat ty, FXfloat tz)
FXMat4ftrans (const FXVec3f &v)
FXMat4fscale (FXfloat sx, FXfloat sy, FXfloat sz)
FXMat4fscale (FXfloat s)
FXMat4fscale (const FXVec3f &v)
FXfloat det () const
FXMat4f transpose () const
FXMat4f invert () const

Friends

FXbool operator== (const FXMat4f &a, FXfloat n)
FXbool operator== (FXfloat n, const FXMat4f &a)
FXbool operator!= (const FXMat4f &a, FXfloat n)
FXbool operator!= (FXfloat n, const FXMat4f &a)
FXMat4f operator* (FXfloat x, const FXMat4f &a)
FXMat4f operator* (const FXMat4f &a, FXfloat x)
FXMat4f operator/ (const FXMat4f &a, FXfloat x)
FXMat4f operator/ (FXfloat x, const FXMat4f &a)
FXStreamoperator<< (FXStream &store, const FXMat4f &m)
FXStreamoperator>> (FXStream &store, FXMat4f &m)


Detailed Description

Single-precision 4x4 matrix.

Constructor & Destructor Documentation

FX::FXMat4f::FXMat4f (  )  [inline]

Default constructor; value is not initialized.

FX::FXMat4f::FXMat4f ( const FXMat4f other  ) 

Initialize matrix from another matrix.

FX::FXMat4f::FXMat4f ( const FXMat3f other  ) 

Initialize with 3x3 rotation and scaling matrix.

FX::FXMat4f::FXMat4f ( FXfloat  w  ) 

Initialize matrix from scalar.

FX::FXMat4f::FXMat4f ( FXfloat  a,
FXfloat  b,
FXfloat  c,
FXfloat  d 
)

Initialize diagonal matrix.

FX::FXMat4f::FXMat4f ( FXfloat  a00,
FXfloat  a01,
FXfloat  a02,
FXfloat  a03,
FXfloat  a10,
FXfloat  a11,
FXfloat  a12,
FXfloat  a13,
FXfloat  a20,
FXfloat  a21,
FXfloat  a22,
FXfloat  a23,
FXfloat  a30,
FXfloat  a31,
FXfloat  a32,
FXfloat  a33 
)

Initialize matrix from components.

FX::FXMat4f::FXMat4f ( const FXVec4f a,
const FXVec4f b,
const FXVec4f c,
const FXVec4f d 
)

Initialize matrix from four vectors.


Member Function Documentation

FXMat4f& FX::FXMat4f::operator= ( const FXMat4f other  ) 

Assignment.

FXMat4f& FX::FXMat4f::operator= ( const FXMat3f other  ) 

FXMat4f& FX::FXMat4f::operator= ( FXfloat  w  ) 

FXMat4f& FX::FXMat4f::set ( const FXMat4f other  ) 

Set value from another matrix.

FXMat4f& FX::FXMat4f::set ( const FXMat3f other  ) 

Set value from 3x3 rotation and scaling matrix.

FXMat4f& FX::FXMat4f::set ( FXfloat  w  ) 

Set value from scalar.

FXMat4f& FX::FXMat4f::set ( FXfloat  a,
FXfloat  b,
FXfloat  c,
FXfloat  d 
)

Set diagonal matrix.

FXMat4f& FX::FXMat4f::set ( FXfloat  a00,
FXfloat  a01,
FXfloat  a02,
FXfloat  a03,
FXfloat  a10,
FXfloat  a11,
FXfloat  a12,
FXfloat  a13,
FXfloat  a20,
FXfloat  a21,
FXfloat  a22,
FXfloat  a23,
FXfloat  a30,
FXfloat  a31,
FXfloat  a32,
FXfloat  a33 
)

Set value from components.

FXMat4f& FX::FXMat4f::set ( const FXVec4f a,
const FXVec4f b,
const FXVec4f c,
const FXVec4f d 
)

Set value from four vectors.

FXMat4f& FX::FXMat4f::operator+= ( const FXMat4f w  ) 

Assignment operators.

FXMat4f& FX::FXMat4f::operator-= ( const FXMat4f w  ) 

FXMat4f& FX::FXMat4f::operator*= ( const FXMat4f w  ) 

FXMat4f& FX::FXMat4f::operator*= ( FXfloat  w  ) 

FXMat4f& FX::FXMat4f::operator/= ( FXfloat  w  ) 

FXVec4f& FX::FXMat4f::operator[] ( FXint  i  )  [inline]

Indexing.

const FXVec4f& FX::FXMat4f::operator[] ( FXint  i  )  const [inline]

FX::FXMat4f::operator FXfloat * (  )  [inline]

Conversion.

FX::FXMat4f::operator const FXfloat * (  )  const [inline]

FXMat4f FX::FXMat4f::operator- (  )  const

Unary minus.

FXMat4f FX::FXMat4f::operator+ ( const FXMat4f w  )  const

Matrix and matrix.

FXMat4f FX::FXMat4f::operator- ( const FXMat4f w  )  const

FXMat4f FX::FXMat4f::operator* ( const FXMat4f w  )  const

FXVec4f FX::FXMat4f::operator* ( const FXVec4f v  )  const

Multiply matrix and vector.

FXVec3f FX::FXMat4f::operator* ( const FXVec3f v  )  const

FXbool FX::FXMat4f::operator== ( const FXMat4f a  )  const

Equality tests.

FXbool FX::FXMat4f::operator!= ( const FXMat4f a  )  const

FXMat4f& FX::FXMat4f::identity (  ) 

Set to identity matrix.

FXbool FX::FXMat4f::isIdentity (  )  const

Return true if identity matrix.

FXMat4f& FX::FXMat4f::setOrtho ( FXfloat  xlo,
FXfloat  xhi,
FXfloat  ylo,
FXfloat  yhi,
FXfloat  zlo,
FXfloat  zhi 
)

Set orthographic projection from view volume.

void FX::FXMat4f::getOrtho ( FXfloat xlo,
FXfloat xhi,
FXfloat ylo,
FXfloat yhi,
FXfloat zlo,
FXfloat zhi 
) const

Get view volume from orthographic projection.

FXMat4f& FX::FXMat4f::setInverseOrtho ( FXfloat  xlo,
FXfloat  xhi,
FXfloat  ylo,
FXfloat  yhi,
FXfloat  zlo,
FXfloat  zhi 
)

Set to inverse orthographic projection.

FXMat4f& FX::FXMat4f::setFrustum ( FXfloat  xlo,
FXfloat  xhi,
FXfloat  ylo,
FXfloat  yhi,
FXfloat  zlo,
FXfloat  zhi 
)

Set to perspective projection from view volume.

void FX::FXMat4f::getFrustum ( FXfloat xlo,
FXfloat xhi,
FXfloat ylo,
FXfloat yhi,
FXfloat zlo,
FXfloat zhi 
) const

Get view volume from perspective projection.

FXMat4f& FX::FXMat4f::setInverseFrustum ( FXfloat  xlo,
FXfloat  xhi,
FXfloat  ylo,
FXfloat  yhi,
FXfloat  zlo,
FXfloat  zhi 
)

Set to inverse perspective projection from view volume.

FXMat4f& FX::FXMat4f::left (  ) 

Multiply by left-hand matrix.

FXMat4f& FX::FXMat4f::rot ( const FXMat3f r  ) 

Multiply by rotation matrix.

FXMat4f& FX::FXMat4f::rot ( const FXQuatf q  ) 

Multiply by rotation about unit-quaternion.

FXMat4f& FX::FXMat4f::rot ( const FXVec3f v,
FXfloat  c,
FXfloat  s 
)

Multiply by rotation c,s about axis.

FXMat4f& FX::FXMat4f::rot ( const FXVec3f v,
FXfloat  phi 
)

Multiply by rotation of phi about axis.

FXMat4f& FX::FXMat4f::xrot ( FXfloat  c,
FXfloat  s 
)

Multiply by x-rotation.

FXMat4f& FX::FXMat4f::xrot ( FXfloat  phi  ) 

FXMat4f& FX::FXMat4f::yrot ( FXfloat  c,
FXfloat  s 
)

Multiply by y-rotation.

FXMat4f& FX::FXMat4f::yrot ( FXfloat  phi  ) 

FXMat4f& FX::FXMat4f::zrot ( FXfloat  c,
FXfloat  s 
)

Multiply by z-rotation.

FXMat4f& FX::FXMat4f::zrot ( FXfloat  phi  ) 

FXMat4f& FX::FXMat4f::look ( const FXVec3f from,
const FXVec3f to,
const FXVec3f up 
)

Look at.

FXMat4f& FX::FXMat4f::trans ( FXfloat  tx,
FXfloat  ty,
FXfloat  tz 
)

Multiply by translation.

FXMat4f& FX::FXMat4f::trans ( const FXVec3f v  ) 

FXMat4f& FX::FXMat4f::scale ( FXfloat  sx,
FXfloat  sy,
FXfloat  sz 
)

Multiply by scaling.

FXMat4f& FX::FXMat4f::scale ( FXfloat  s  ) 

FXMat4f& FX::FXMat4f::scale ( const FXVec3f v  ) 

FXfloat FX::FXMat4f::det (  )  const

Determinant.

FXMat4f FX::FXMat4f::transpose (  )  const

Transpose.

FXMat4f FX::FXMat4f::invert (  )  const

Invert.


Friends And Related Function Documentation

FXbool operator== ( const FXMat4f a,
FXfloat  n 
) [friend]

FXbool operator== ( FXfloat  n,
const FXMat4f a 
) [friend]

FXbool operator!= ( const FXMat4f a,
FXfloat  n 
) [friend]

FXbool operator!= ( FXfloat  n,
const FXMat4f a 
) [friend]

FXMat4f operator* ( FXfloat  x,
const FXMat4f a 
) [friend]

Matrix and scalar.

FXMat4f operator* ( const FXMat4f a,
FXfloat  x 
) [friend]

FXMat4f operator/ ( const FXMat4f a,
FXfloat  x 
) [friend]

FXMat4f operator/ ( FXfloat  x,
const FXMat4f a 
) [friend]

FXStream& operator<< ( FXStream store,
const FXMat4f m 
) [friend]

Save to a stream.

FXStream& operator>> ( FXStream store,
FXMat4f m 
) [friend]

Load from a stream.

Copyright © 1997-2009 Jeroen van der Zijp