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

FX::FXMat4d Class Reference

Double-precision 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.
 
FXMat4doperator= (FXdouble s)
 Assignment from scalar.
 
FXMat4doperator= (const FXMat3d &s)
 Assignment.
 
FXMat4doperator= (const FXMat4d &s)
 
FXMat4doperator= (const FXQuatd &quat)
 Assignment from quaternion.
 
FXMat4doperator= (const FXdouble s[])
 Assignment from array.
 
FXMat4dset (FXdouble s)
 Set value from scalar.
 
FXMat4dset (const FXMat3d &s)
 Set value from 3x3 rotation and scaling matrix.
 
FXMat4dset (const FXMat4d &s)
 Set value from another matrix.
 
FXMat4dset (const FXdouble s[])
 Set value from array.
 
FXMat4dset (FXdouble a, FXdouble b, FXdouble c, FXdouble d)
 Set diagonal matrix.
 
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)
 Set value from components.
 
FXMat4dset (const FXVec4d &a, const FXVec4d &b, const FXVec4d &c, const FXVec4d &d)
 Set value from four vectors.
 
FXMat4dset (const FXQuatd &quat)
 Set value from quaternion.
 
FXMat4doperator+= (const FXMat4d &w)
 Assignment operators.
 
FXMat4doperator-= (const FXMat4d &w)
 
FXMat4doperator*= (const FXMat4d &w)
 
FXMat4doperator*= (FXdouble w)
 
FXMat4doperator/= (FXdouble w)
 
FXVec4doperator[] (FXint i)
 Indexing.
 
const FXVec4doperator[] (FXint i) const
 
 operator FXdouble * ()
 Conversion.
 
 operator const FXdouble * () const
 
FXMat4d operator- () const
 Unary minus.
 
FXMat4didentity ()
 Set to identity matrix.
 
FXbool isIdentity () const
 Return true if identity matrix.
 
FXMat4dsetOrtho (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.
 
FXMat4dsetInverseOrtho (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi)
 Set to inverse orthographic projection.
 
FXMat4dsetFrustum (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.
 
FXMat4dsetInverseFrustum (FXdouble xlo, FXdouble xhi, FXdouble ylo, FXdouble yhi, FXdouble zlo, FXdouble zhi)
 Set to inverse perspective projection from view volume.
 
FXMat4dleft ()
 Multiply by left-hand matrix.
 
FXMat4drot (const FXMat3d &r)
 Multiply by rotation matrix.
 
FXMat4drot (const FXQuatd &q)
 Multiply by rotation about unit-quaternion.
 
FXMat4drot (const FXVec3d &v, FXdouble c, FXdouble s)
 Multiply by rotation c,s about unit axis.
 
FXMat4drot (const FXVec3d &v, FXdouble phi)
 Multiply by rotation of phi about unit axis.
 
FXMat4dxrot (FXdouble c, FXdouble s)
 Multiply by x-rotation.
 
FXMat4dxrot (FXdouble phi)
 
FXMat4dyrot (FXdouble c, FXdouble s)
 Multiply by y-rotation.
 
FXMat4dyrot (FXdouble phi)
 
FXMat4dzrot (FXdouble c, FXdouble s)
 Multiply by z-rotation.
 
FXMat4dzrot (FXdouble phi)
 
FXMat4dlook (const FXVec3d &from, const FXVec3d &to, const FXVec3d &up)
 Look at.
 
FXMat4dtrans (FXdouble tx, FXdouble ty, FXdouble tz)
 Multiply by translation.
 
FXMat4dtrans (const FXVec3d &v)
 
FXMat4dscale (FXdouble sx, FXdouble sy, FXdouble sz)
 Multiply by scaling.
 
FXMat4dscale (const FXVec3d &v)
 
FXMat4dscale (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 normal-transformation matrix.
 
 ~FXMat4d ()
 Destructor.
 

Protected Attributes

FXVec4d m [4]
 

Detailed Description

Double-precision 4x4 matrix.


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

Copyright © 1997-2022 Jeroen van der Zijp