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

FX::FXMat4f Class Reference

Single-precision 4x4 matrix. More...

#include <FXMat4f.h>

Public Member Functions

 FXMat4f ()
 Default constructor; value is not initialized.
 
 FXMat4f (FXfloat s)
 Initialize matrix from scalar.
 
 FXMat4f (const FXMat3f &s)
 Initialize with 3x3 rotation and scaling matrix.
 
 FXMat4f (const FXMat4f &s)
 Initialize matrix from another matrix.
 
 FXMat4f (const FXfloat s[])
 Initialize matrix from array.
 
 FXMat4f (FXfloat a, FXfloat b, FXfloat c, FXfloat d)
 Initialize diagonal matrix.
 
 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.
 
 FXMat4f (const FXVec4f &a, const FXVec4f &b, const FXVec4f &c, const FXVec4f &d)
 Initialize matrix from four vectors.
 
 FXMat4f (const FXQuatf &quat)
 Initialize matrix from quaternion.
 
FXMat4foperator= (FXfloat s)
 Assignment from scalar.
 
FXMat4foperator= (const FXMat3f &s)
 Assignment.
 
FXMat4foperator= (const FXMat4f &s)
 
FXMat4foperator= (const FXQuatf &quat)
 Assignment from quaternion.
 
FXMat4foperator= (const FXfloat s[])
 Assignment from array.
 
FXMat4fset (FXfloat s)
 Set value from scalar.
 
FXMat4fset (const FXMat3f &s)
 Set value from 3x3 rotation and scaling matrix.
 
FXMat4fset (const FXMat4f &s)
 Set value from another matrix.
 
FXMat4fset (const FXfloat s[])
 Set value from array.
 
FXMat4fset (FXfloat a, FXfloat b, FXfloat c, FXfloat d)
 Set diagonal matrix.
 
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)
 Set value from components.
 
FXMat4fset (const FXVec4f &a, const FXVec4f &b, const FXVec4f &c, const FXVec4f &d)
 Set value from four vectors.
 
FXMat4fset (const FXQuatf &quat)
 Set value from quaternion.
 
FXMat4foperator+= (const FXMat4f &s)
 Assignment operators.
 
FXMat4foperator-= (const FXMat4f &s)
 
FXMat4foperator*= (const FXMat4f &s)
 
FXMat4foperator*= (FXfloat s)
 
FXMat4foperator/= (FXfloat s)
 
FXVec4foperator[] (FXint i)
 Indexing.
 
const FXVec4foperator[] (FXint i) const
 
 operator FXfloat * ()
 Conversion.
 
 operator const FXfloat * () const
 
FXMat4f operator- () const
 Unary minus.
 
FXMat4fidentity ()
 Set to identity matrix.
 
FXbool isIdentity () const
 Return true if identity matrix.
 
FXMat4fsetOrtho (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
 Set orthographic projection from view volume.
 
void getOrtho (FXfloat &xlo, FXfloat &xhi, FXfloat &ylo, FXfloat &yhi, FXfloat &zlo, FXfloat &zhi) const
 Get view volume from orthographic projection.
 
FXMat4fsetInverseOrtho (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
 Set to inverse orthographic projection.
 
FXMat4fsetFrustum (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
 Set to perspective projection from view volume.
 
void getFrustum (FXfloat &xlo, FXfloat &xhi, FXfloat &ylo, FXfloat &yhi, FXfloat &zlo, FXfloat &zhi) const
 Get view volume from perspective projection.
 
FXMat4fsetInverseFrustum (FXfloat xlo, FXfloat xhi, FXfloat ylo, FXfloat yhi, FXfloat zlo, FXfloat zhi)
 Set to inverse perspective projection from view volume.
 
FXMat4fleft ()
 Multiply by left-hand matrix.
 
FXMat4frot (const FXMat3f &r)
 Multiply by rotation matrix.
 
FXMat4frot (const FXQuatf &q)
 Multiply by rotation about unit-quaternion.
 
FXMat4frot (const FXVec3f &v, FXfloat c, FXfloat s)
 Multiply by rotation c,s about unit axis.
 
FXMat4frot (const FXVec3f &v, FXfloat phi)
 Multiply by rotation of phi about unit axis.
 
FXMat4fxrot (FXfloat c, FXfloat s)
 Multiply by x-rotation.
 
FXMat4fxrot (FXfloat phi)
 
FXMat4fyrot (FXfloat c, FXfloat s)
 Multiply by y-rotation.
 
FXMat4fyrot (FXfloat phi)
 
FXMat4fzrot (FXfloat c, FXfloat s)
 Multiply by z-rotation.
 
FXMat4fzrot (FXfloat phi)
 
FXMat4flook (const FXVec3f &from, const FXVec3f &to, const FXVec3f &up)
 Look at.
 
FXMat4ftrans (FXfloat tx, FXfloat ty, FXfloat tz)
 Multiply by translation.
 
FXMat4ftrans (const FXVec3f &v)
 
FXMat4fscale (FXfloat sx, FXfloat sy, FXfloat sz)
 Multiply by scaling.
 
FXMat4fscale (const FXVec3f &v)
 
FXMat4fscale (FXfloat s)
 
FXMat4fmirror (const FXVec3f &n)
 Mirror-matrix with plane normal n.
 
FXfloat det () const
 Determinant.
 
FXMat4f transpose () const
 Transpose.
 
FXMat4f invert () const
 Invert.
 
FXMat4f affineInvert () const
 Invert affine matrix.
 
FXMat4f rigidInvert () const
 Invert rigid body transform matrix.
 
FXMat3f normalMatrix () const
 Return normal-transformation matrix.
 
 ~FXMat4f ()
 Destructor.
 

Protected Attributes

FXVec4f m [4]
 

Detailed Description

Single-precision 4x4 matrix.


The documentation for this class was generated from the following file:

Copyright © 1997-2022 Jeroen van der Zijp