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

Doubleprecision 4x4 matrix. More...
#include <FXMat4d.h>
Public Member Functions  
FXMat4d ()  
Default constructor; value is not initialized.  
FXMat4d (FXdouble s)  
Initialize matrix from scalar.  
FXMat4d (const FXMat3d &s)  
Initialize with 3x3 rotation and scaling matrix.  
FXMat4d (const FXMat4d &s)  
Initialize matrix from another matrix.  
FXMat4d (const FXdouble s[])  
Initialize matrix from array.  
FXMat4d (FXdouble a, FXdouble b, FXdouble c, FXdouble d)  
Initialize diagonal matrix.  
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.  
FXMat4d (const FXVec4d &a, const FXVec4d &b, const FXVec4d &c, const FXVec4d &d)  
Initialize matrix from four vectors.  
FXMat4d (const FXQuatd &quat)  
Initialize matrix from quaternion.  
FXMat4d &  operator= (FXdouble s) 
Assignment from scalar.  
FXMat4d &  operator= (const FXMat3d &s) 
Assignment.  
FXMat4d &  operator= (const FXMat4d &s) 
FXMat4d &  operator= (const FXQuatd &quat) 
Assignment from quaternion.  
FXMat4d &  operator= (const FXdouble s[]) 
Assignment from array.  
FXMat4d &  set (FXdouble s) 
Set value from scalar.  
FXMat4d &  set (const FXMat3d &s) 
Set value from 3x3 rotation and scaling matrix.  
FXMat4d &  set (const FXMat4d &s) 
Set value from another matrix.  
FXMat4d &  set (const FXdouble s[]) 
Set value from array.  
FXMat4d &  set (FXdouble a, FXdouble b, FXdouble c, FXdouble d) 
Set diagonal matrix.  
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 &  set (const FXVec4d &a, const FXVec4d &b, const FXVec4d &c, const FXVec4d &d) 
Set value from four vectors.  
FXMat4d &  set (const FXQuatd &quat) 
Set value from quaternion.  
FXMat4d &  operator+= (const FXMat4d &w) 
Assignment operators.  
FXMat4d &  operator= (const FXMat4d &w) 
FXMat4d &  operator*= (const FXMat4d &w) 
FXMat4d &  operator*= (FXdouble w) 
FXMat4d &  operator/= (FXdouble w) 
FXVec4d &  operator[] (FXint i) 
Indexing.  
const FXVec4d &  operator[] (FXint i) const 
operator FXdouble * ()  
Conversion.  
operator const FXdouble * () const  
FXMat4d  operator () const 
Unary minus.  
FXMat4d &  identity () 
Set to identity matrix.  
FXbool  isIdentity () const 
Return true if identity matrix.  
FXMat4d &  setOrtho (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi) 
Set orthographic projection from view volume.  
void  getOrtho (FXdouble &xlo, FXdouble &xhi, FXdouble &ylo, FXdouble &yhi, FXdouble &zlo, FXdouble &zhi) const 
Get view volume from orthographic projection.  
FXMat4d &  setInverseOrtho (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi) 
Set to inverse orthographic projection.  
FXMat4d &  setFrustum (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi) 
Set to perspective projection from view volume.  
void  getFrustum (FXdouble &xlo, FXdouble &xhi, FXdouble &ylo, FXdouble &yhi, FXdouble &zlo, FXdouble &zhi) const 
Get view volume from perspective projection.  
FXMat4d &  setInverseFrustum (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi) 
Set to inverse perspective projection from view volume.  
FXMat4d &  left () 
Multiply by lefthand matrix.  
FXMat4d &  rot (const FXMat3d &r) 
Multiply by rotation matrix.  
FXMat4d &  rot (const FXQuatd &q) 
Multiply by rotation about unitquaternion.  
FXMat4d &  rot (const FXVec3d &v, FXdouble c, FXdouble s) 
Multiply by rotation c,s about unit axis.  
FXMat4d &  rot (const FXVec3d &v, FXdouble phi) 
Multiply by rotation of phi about unit axis.  
FXMat4d &  xrot (FXdouble c, FXdouble s) 
Multiply by xrotation.  
FXMat4d &  xrot (FXdouble phi) 
FXMat4d &  yrot (FXdouble c, FXdouble s) 
Multiply by yrotation.  
FXMat4d &  yrot (FXdouble phi) 
FXMat4d &  zrot (FXdouble c, FXdouble s) 
Multiply by zrotation.  
FXMat4d &  zrot (FXdouble phi) 
FXMat4d &  look (const FXVec3d &from, const FXVec3d &to, const FXVec3d &up) 
Look at.  
FXMat4d &  trans (FXdouble tx, FXdouble ty, FXdouble tz) 
Multiply by translation.  
FXMat4d &  trans (const FXVec3d &v) 
FXMat4d &  scale (FXdouble sx, FXdouble sy, FXdouble sz) 
Multiply by scaling.  
FXMat4d &  scale (const FXVec3d &v) 
FXMat4d &  scale (FXdouble s) 
FXdouble  det () const 
Determinant.  
FXMat4d  transpose () const 
Transpose.  
FXMat4d  invert () const 
Invert.  
FXMat4d  affineInvert () const 
Invert affine matrix.  
FXMat4d  rigidInvert () const 
Invert rigid body transform matrix.  
FXMat3d  normalMatrix () const 
Return normaltransformation matrix.  
~FXMat4d ()  
Destructor.  
Protected Attributes  
FXVec4d  m [4] 
Doubleprecision 4x4 matrix.
Copyright © 19972018 Jeroen van der Zijp 