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 (FXdouble w)
 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)
 FXMat4d (const FXMat4d &other)
FXMat4d & operator= (const FXMat4d &other)
FXMat4d & operator= (FXdouble w)
FXMat4d & operator+= (const FXMat4d &w)
FXMat4d & operator-= (const FXMat4d &w)
FXMat4d & operator *= (FXdouble w)
FXMat4d & operator *= (const FXMat4d &w)
FXMat4d & operator/= (FXdouble w)
FXVec4d & operator[] (FXint i)
const FXVec4d & operator[] (FXint i) const
 operator FXdouble * ()
 operator const FXdouble * () const
FXMat4d & eye ()
FXMat4d & ortho (FXdouble left, FXdouble right, FXdouble bottom, FXdouble top, FXdouble hither, FXdouble yon)
FXMat4d & frustum (FXdouble left, FXdouble right, FXdouble bottom, FXdouble top, FXdouble hither, FXdouble yon)
FXMat4d & left ()
FXMat4d & rot (const FXQuatd &q)
FXMat4d & rot (const FXVec3d &v, FXdouble c, FXdouble s)
FXMat4d & rot (const FXVec3d &v, FXdouble phi)
FXMat4d & xrot (FXdouble c, FXdouble s)
FXMat4d & xrot (FXdouble phi)
FXMat4d & yrot (FXdouble c, FXdouble s)
FXMat4d & yrot (FXdouble phi)
FXMat4d & zrot (FXdouble c, FXdouble s)
FXMat4d & zrot (FXdouble phi)
FXMat4d & look (const FXVec3d &eye, const FXVec3d &cntr, const FXVec3d &vup)
FXMat4d & trans (FXdouble tx, FXdouble ty, FXdouble tz)
FXMat4d & trans (const FXVec3d &v)
FXMat4d & scale (FXdouble sx, FXdouble sy, FXdouble sz)
FXMat4d & scale (FXdouble s)
FXMat4d & scale (const FXVec3d &v)

Friends

FXMat4d operator+ (const FXMat4d &a, const FXMat4d &b)
FXMat4d operator- (const FXMat4d &a, const FXMat4d &b)
FXMat4d operator- (const FXMat4d &a)
FXMat4d operator * (const FXMat4d &a, const FXMat4d &b)
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)
FXVec4d operator * (const FXVec4d &v, const FXMat4d &m)
FXVec4d operator * (const FXMat4d &a, const FXVec4d &v)
FXVec3d operator * (const FXVec3d &v, const FXMat4d &m)
FXVec3d operator * (const FXMat4d &a, const FXVec3d &v)
FXdouble det (const FXMat4d &m)
FXMat4d transpose (const FXMat4d &m)
FXMat4d invert (const FXMat4d &m)
FXStream & operator<< (FXStream &store, const FXMat4d &m)
FXStream & operator>> (FXStream &store, FXMat4d &m)


Detailed Description

Double-precision 4x4 matrix.


Constructor & Destructor Documentation

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

Constructors.


Member Function Documentation

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

Assignment operators.

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

Indexing.

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

Conversion.

FXMat4d& FX::FXMat4d::eye (   ) 
 

Set identity matrix.

FXMat4d& FX::FXMat4d::ortho (  FXdouble  left,
FXdouble  right,
FXdouble  bottom,
FXdouble  top,
FXdouble  hither,
FXdouble  yon
) 
 

Orthographic projection.

FXMat4d& FX::FXMat4d::frustum (  FXdouble  left,
FXdouble  right,
FXdouble  bottom,
FXdouble  top,
FXdouble  hither,
FXdouble  yon
) 
 

Perspective projection.

FXMat4d& FX::FXMat4d::left (   ) 
 

Multiply by left-hand 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::yrot (  FXdouble  c,
FXdouble  s
) 
 

Multiply by y-rotation.

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

Multiply by z-rotation.

FXMat4d& FX::FXMat4d::look (  const FXVec3d &  eye,
const FXVec3d &  cntr,
const FXVec3d &  vup
) 
 

Look at.

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

Multiply by translation.

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

Multiply by scaling.


Friends And Related Function Documentation

FXMat4d operator+ (  const FXMat4d &  a,
const FXMat4d &  b
)  [friend]
 

Other operators.

FXVec4d operator * (  const FXVec4d &  v,
const FXMat4d &  m
)  [friend]
 

Multiply matrix and vector.

FXVec3d operator * (  const FXVec3d &  v,
const FXMat4d &  m
)  [friend]
 

Mutiply matrix and vector, for non-projective matrix.

FXdouble det (  const FXMat4d &  m  )  [friend]
 

Determinant.

FXMat4d transpose (  const FXMat4d &  m  )  [friend]
 

Transpose.

FXMat4d invert (  const FXMat4d &  m  )  [friend]
 

Invert.

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-2005 Jeroen van der Zijp