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

FX::FXMat4d Class Reference

Double-precision 4x4 matrix. More...

#include <FXMat4d.h>

List of all members.

Public Member Functions

 FXMat4d ()
 FXMat4d (const FXMat4d &other)
 FXMat4d (const FXMat3d &other)
 FXMat4d (FXdouble w)
 FXMat4d (FXdouble a, FXdouble b, FXdouble c, FXdouble d)
 FXMat4d (FXdouble a00, FXdouble a01, FXdouble a02, FXdouble a03, FXdouble a10, FXdouble a11, FXdouble a12, FXdouble a13, FXdouble a20, FXdouble a21, FXdouble a22, FXdouble a23, FXdouble a30, FXdouble a31, FXdouble a32, FXdouble a33)
 FXMat4d (const FXVec4d &a, const FXVec4d &b, const FXVec4d &c, const FXVec4d &d)
FXMat4doperator= (const FXMat4d &other)
FXMat4doperator= (const FXMat3d &other)
FXMat4doperator= (FXdouble w)
FXMat4dset (const FXMat4d &other)
FXMat4dset (const FXMat3d &other)
FXMat4dset (FXdouble w)
FXMat4dset (FXdouble a, FXdouble b, FXdouble c, FXdouble d)
FXMat4dset (FXdouble a00, FXdouble a01, FXdouble a02, FXdouble a03, FXdouble a10, FXdouble a11, FXdouble a12, FXdouble a13, FXdouble a20, FXdouble a21, FXdouble a22, FXdouble a23, FXdouble a30, FXdouble a31, FXdouble a32, FXdouble a33)
FXMat4dset (const FXVec4d &a, const FXVec4d &b, const FXVec4d &c, const FXVec4d &d)
FXMat4doperator+= (const FXMat4d &w)
FXMat4doperator-= (const FXMat4d &w)
FXMat4doperator*= (const FXMat4d &w)
FXMat4doperator*= (FXdouble w)
FXMat4doperator/= (FXdouble w)
FXVec4doperator[] (FXint i)
const FXVec4doperator[] (FXint i) const
 operator FXdouble * ()
 operator const FXdouble * () const
FXMat4d operator- () const
FXMat4d operator+ (const FXMat4d &w) const
FXMat4d operator- (const FXMat4d &w) const
FXMat4d operator* (const FXMat4d &w) const
FXVec4d operator* (const FXVec4d &v) const
FXVec3d operator* (const FXVec3d &v) const
FXbool operator== (const FXMat4d &a) const
FXbool operator!= (const FXMat4d &a) const
FXMat4didentity ()
FXbool isIdentity () const
FXMat4dsetOrtho (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi)
void getOrtho (FXdouble &xlo, FXdouble &xhi, FXdouble &ylo, FXdouble &yhi, FXdouble &zlo, FXdouble &zhi) const
FXMat4dsetInverseOrtho (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi)
FXMat4dsetFrustum (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi)
void getFrustum (FXdouble &xlo, FXdouble &xhi, FXdouble &ylo, FXdouble &yhi, FXdouble &zlo, FXdouble &zhi) const
FXMat4dsetInverseFrustum (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi)
FXMat4dleft ()
FXMat4drot (const FXMat3d &r)
FXMat4drot (const FXQuatd &q)
FXMat4drot (const FXVec3d &v, FXdouble c, FXdouble s)
FXMat4drot (const FXVec3d &v, FXdouble phi)
FXMat4dxrot (FXdouble c, FXdouble s)
FXMat4dxrot (FXdouble phi)
FXMat4dyrot (FXdouble c, FXdouble s)
FXMat4dyrot (FXdouble phi)
FXMat4dzrot (FXdouble c, FXdouble s)
FXMat4dzrot (FXdouble phi)
FXMat4dlook (const FXVec3d &from, const FXVec3d &to, const FXVec3d &up)
FXMat4dtrans (FXdouble tx, FXdouble ty, FXdouble tz)
FXMat4dtrans (const FXVec3d &v)
FXMat4dscale (FXdouble sx, FXdouble sy, FXdouble sz)
FXMat4dscale (FXdouble s)
FXMat4dscale (const FXVec3d &v)
FXdouble det () const
FXMat4d transpose () const
FXMat4d invert () const

Friends

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


Detailed Description

Double-precision 4x4 matrix.

Constructor & Destructor Documentation

FX::FXMat4d::FXMat4d (  )  [inline]

Default constructor; value is not initialized.

FX::FXMat4d::FXMat4d ( const FXMat4d other  ) 

Initialize matrix from another matrix.

FX::FXMat4d::FXMat4d ( const FXMat3d other  ) 

Initialize with 3x3 rotation and scaling matrix.

FX::FXMat4d::FXMat4d ( FXdouble  w  ) 

Initialize matrix from scalar.

FX::FXMat4d::FXMat4d ( FXdouble  a,
FXdouble  b,
FXdouble  c,
FXdouble  d 
)

Initialize diagonal matrix.

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

Initialize matrix from components.

FX::FXMat4d::FXMat4d ( const FXVec4d a,
const FXVec4d b,
const FXVec4d c,
const FXVec4d d 
)

Initialize matrix from four vectors.


Member Function Documentation

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

Assignment.

FXMat4d& FX::FXMat4d::operator= ( const FXMat3d other  ) 

FXMat4d& FX::FXMat4d::operator= ( FXdouble  w  ) 

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

Set value from another matrix.

FXMat4d& FX::FXMat4d::set ( const FXMat3d other  ) 

Set value from 3x3 rotation and scaling matrix.

FXMat4d& FX::FXMat4d::set ( FXdouble  w  ) 

Set value from scalar.

FXMat4d& FX::FXMat4d::set ( FXdouble  a,
FXdouble  b,
FXdouble  c,
FXdouble  d 
)

Set diagonal matrix.

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

Set value from components.

FXMat4d& FX::FXMat4d::set ( const FXVec4d a,
const FXVec4d b,
const FXVec4d c,
const FXVec4d d 
)

Set value from four vectors.

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

Assignment operators.

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

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

FXMat4d& FX::FXMat4d::operator*= ( FXdouble  w  ) 

FXMat4d& FX::FXMat4d::operator/= ( FXdouble  w  ) 

FXVec4d& FX::FXMat4d::operator[] ( FXint  i  )  [inline]

Indexing.

const FXVec4d& FX::FXMat4d::operator[] ( FXint  i  )  const [inline]

FX::FXMat4d::operator FXdouble * (  )  [inline]

Conversion.

FX::FXMat4d::operator const FXdouble * (  )  const [inline]

FXMat4d FX::FXMat4d::operator- (  )  const

Unary minus.

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

Matrix and matrix.

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

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

FXVec4d FX::FXMat4d::operator* ( const FXVec4d v  )  const

Multiply matrix and vector.

FXVec3d FX::FXMat4d::operator* ( const FXVec3d v  )  const

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

Equality tests.

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

FXMat4d& FX::FXMat4d::identity (  ) 

Set to identity matrix.

FXbool FX::FXMat4d::isIdentity (  )  const

Return true if identity matrix.

FXMat4d& FX::FXMat4d::setOrtho ( FXdouble  xlo,
FXdouble  xhi,
FXdouble  ylo,
FXdouble  yhi,
FXdouble  zlo,
FXdouble  zhi 
)

Set orthographic projection from view volume.

void FX::FXMat4d::getOrtho ( FXdouble xlo,
FXdouble xhi,
FXdouble ylo,
FXdouble yhi,
FXdouble zlo,
FXdouble zhi 
) const

Get view volume from orthographic projection.

FXMat4d& FX::FXMat4d::setInverseOrtho ( FXdouble  xlo,
FXdouble  xhi,
FXdouble  ylo,
FXdouble  yhi,
FXdouble  zlo,
FXdouble  zhi 
)

Set to inverse orthographic projection.

FXMat4d& FX::FXMat4d::setFrustum ( FXdouble  xlo,
FXdouble  xhi,
FXdouble  ylo,
FXdouble  yhi,
FXdouble  zlo,
FXdouble  zhi 
)

Set to perspective projection from view volume.

void FX::FXMat4d::getFrustum ( FXdouble xlo,
FXdouble xhi,
FXdouble ylo,
FXdouble yhi,
FXdouble zlo,
FXdouble zhi 
) const

Get view volume from perspective projection.

FXMat4d& FX::FXMat4d::setInverseFrustum ( FXdouble  xlo,
FXdouble  xhi,
FXdouble  ylo,
FXdouble  yhi,
FXdouble  zlo,
FXdouble  zhi 
)

Set to inverse perspective projection from view volume.

FXMat4d& FX::FXMat4d::left (  ) 

Multiply by left-hand matrix.

FXMat4d& FX::FXMat4d::rot ( const FXMat3d r  ) 

Multiply by rotation matrix.

FXMat4d& FX::FXMat4d::rot ( const FXQuatd q  ) 

Multiply by rotation about unit-quaternion.

FXMat4d& FX::FXMat4d::rot ( const FXVec3d v,
FXdouble  c,
FXdouble  s 
)

Multiply by rotation c,s about axis.

FXMat4d& FX::FXMat4d::rot ( const FXVec3d v,
FXdouble  phi 
)

Multiply by rotation of phi about axis.

FXMat4d& FX::FXMat4d::xrot ( FXdouble  c,
FXdouble  s 
)

Multiply by x-rotation.

FXMat4d& FX::FXMat4d::xrot ( FXdouble  phi  ) 

FXMat4d& FX::FXMat4d::yrot ( FXdouble  c,
FXdouble  s 
)

Multiply by y-rotation.

FXMat4d& FX::FXMat4d::yrot ( FXdouble  phi  ) 

FXMat4d& FX::FXMat4d::zrot ( FXdouble  c,
FXdouble  s 
)

Multiply by z-rotation.

FXMat4d& FX::FXMat4d::zrot ( FXdouble  phi  ) 

FXMat4d& FX::FXMat4d::look ( const FXVec3d from,
const FXVec3d to,
const FXVec3d up 
)

Look at.

FXMat4d& FX::FXMat4d::trans ( FXdouble  tx,
FXdouble  ty,
FXdouble  tz 
)

Multiply by translation.

FXMat4d& FX::FXMat4d::trans ( const FXVec3d v  ) 

FXMat4d& FX::FXMat4d::scale ( FXdouble  sx,
FXdouble  sy,
FXdouble  sz 
)

Multiply by scaling.

FXMat4d& FX::FXMat4d::scale ( FXdouble  s  ) 

FXMat4d& FX::FXMat4d::scale ( const FXVec3d v  ) 

FXdouble FX::FXMat4d::det (  )  const

Determinant.

FXMat4d FX::FXMat4d::transpose (  )  const

Transpose.

FXMat4d FX::FXMat4d::invert (  )  const

Invert.


Friends And Related Function Documentation

FXbool operator== ( const FXMat4d a,
FXdouble  n 
) [friend]

FXbool operator== ( FXdouble  n,
const FXMat4d a 
) [friend]

FXbool operator!= ( const FXMat4d a,
FXdouble  n 
) [friend]

FXbool operator!= ( FXdouble  n,
const FXMat4d a 
) [friend]

FXMat4d operator* ( FXdouble  x,
const FXMat4d a 
) [friend]

Matrix and scalar.

FXMat4d operator* ( const FXMat4d a,
FXdouble  x 
) [friend]

FXMat4d operator/ ( const FXMat4d a,
FXdouble  x 
) [friend]

FXMat4d operator/ ( FXdouble  x,
const FXMat4d a 
) [friend]

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

Save to a stream.

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

Load from a stream.

Copyright © 1997-2009 Jeroen van der Zijp