Visualization Library v1.0.3

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes

vl::Matrix4< T_Scalar > Class Template Reference

The Matrix4 class is a template class that implements a generic 4x4 matrix, see also vl::dmat4, vl::fmat4, vl::umat4, vl::imat4. More...

#include <Matrix4.hpp>

List of all members.

Public Types

typedef T_Scalar scalar_type

Public Member Functions

template<typename T >
 Matrix4 (const Matrix4< T > &m)
 Matrix4 ()
 Matrix4 (T_Scalar n)
 Matrix4 (T_Scalar *val)
 Matrix4 (T_Scalar e00, T_Scalar e01, T_Scalar e02, T_Scalar e03, T_Scalar e10, T_Scalar e11, T_Scalar e12, T_Scalar e13, T_Scalar e20, T_Scalar e21, T_Scalar e22, T_Scalar e23, T_Scalar e30, T_Scalar e31, T_Scalar e32, T_Scalar e33)
Matrix4fill (T_Scalar val)
Matrix4fillPtr (T_Scalar *val)
T_Scalar diff (const Matrix4 &other) const
Vector3< T_Scalar > getX () const
Vector3< T_Scalar > getY () const
Vector3< T_Scalar > getZ () const
Vector3< T_Scalar > getT () const
Matrix4setX (const Vector3< T_Scalar > &v)
Matrix4setY (const Vector3< T_Scalar > &v)
Matrix4setZ (const Vector3< T_Scalar > &v)
Matrix4setT (const Vector3< T_Scalar > &v)
bool operator== (const Matrix4 &m) const
bool operator!= (const Matrix4 &m) const
Matrix4operator= (const Matrix4 &m)
Matrix4 operator+ (const Matrix4 &m) const
Matrix4operator+= (const Matrix4 &m)
Matrix4 operator- (const Matrix4 &m) const
Matrix4operator-= (const Matrix4 &m)
Matrix4operator*= (const Matrix4 &m)
Matrix4 operator- () const
Matrix4 operator+ (T_Scalar d) const
Matrix4operator+= (T_Scalar d)
Matrix4 operator- (T_Scalar d) const
Matrix4operator-= (T_Scalar d)
Matrix4 operator* (T_Scalar d) const
Matrix4operator*= (T_Scalar d)
Matrix4 operator/ (T_Scalar d) const
Matrix4operator/= (T_Scalar d)
bool isIdentity () const
Matrix4 as3x3 () const
Matrix3< T_Scalar > get3x3 () const
void set3x3 (const Matrix3< T_Scalar > &m)
 This writes only on the upper 3x3 part of the matrix without touching the last row and column.
T_Scalar * ptr ()
const T_Scalar * ptr () const
Matrix4transpose ()
Matrix4 getTransposed () const
Matrix4getTransposed (Matrix4 &dest) const
bool isNull () const
Matrix4setNull ()
Matrix4setIdentity ()
T_Scalar getInverse (Matrix4 &dest) const
Matrix4 getInverse (T_Scalar *determinant=NULL) const
Matrix4invert (T_Scalar *determinant=NULL)
void getAsLookAtModeling (Vector3< T_Scalar > &eye, Vector3< T_Scalar > &at, Vector3< T_Scalar > &up, Vector3< T_Scalar > &right) const
void getAsLookAt (Vector3< T_Scalar > &eye, Vector3< T_Scalar > &at, Vector3< T_Scalar > &up, Vector3< T_Scalar > &right) const
void getYXRotationAngles (T_Scalar &degrees_y, T_Scalar &degrees_x) const
 If this matrix can be represented as RY(degrees_y) * RX(degrees_x), where RX and RY are getRotation matrices around the X and Y axis respectively, this function returns the getRotation angles degrees_y and degrees_x.
Matrix4rotate (T_Scalar degrees, const Vector3< T_Scalar > &v)
Matrix4rotate (T_Scalar degrees, T_Scalar x, T_Scalar y, T_Scalar z)
Matrix4rotate (T_Scalar degrees1, const Vector3< T_Scalar > &v1, T_Scalar degrees2, const Vector3< T_Scalar > &v2)
Matrix4rotate (T_Scalar degrees1, const Vector3< T_Scalar > &v1, T_Scalar degrees2, const Vector3< T_Scalar > &v2, T_Scalar degrees3, const Vector3< T_Scalar > &v3)
Matrix4rotateXYZ (T_Scalar degX, T_Scalar degY, T_Scalar degZ)
Matrix4rotateZYX (T_Scalar degZ, T_Scalar degY, T_Scalar degX)
Matrix4rotate (const Vector4< T_Scalar > &from, const Vector4< T_Scalar > &to)
Matrix4rotate (const Vector3< T_Scalar > &from, const Vector3< T_Scalar > &to)
Matrix4translate (T_Scalar x, T_Scalar y, T_Scalar z)
Matrix4translate (const Vector3< T_Scalar > &v)
Matrix4scale (T_Scalar x, T_Scalar y, T_Scalar z)
Matrix4scale (const Vector3< T_Scalar > v)
Matrix4postMultiply (const Matrix4 &m)
Matrix4preMultiply (const Matrix4 &m)
const T_Scalar & e (int i, int j) const
T_Scalar & e (int i, int j)

Static Public Member Functions

static Matrix4getNull (Matrix4 &out)
static Matrix4 getNull ()
static Matrix4 getIdentity ()
static Matrix4getIdentity (Matrix4 &out)
static Matrix4 getPerspective (T_Scalar fovy, T_Scalar aspect_ratio, T_Scalar znear, T_Scalar zfar)
static Matrix4 getFrustum (T_Scalar pleft, T_Scalar pright, T_Scalar pbottom, T_Scalar ptop, T_Scalar pnear, T_Scalar pfar)
static Matrix4 getOrtho (T_Scalar pleft, T_Scalar pright, T_Scalar pbottom, T_Scalar ptop, T_Scalar pnear, T_Scalar pfar)
static Matrix4 getOrtho2D (T_Scalar pleft, T_Scalar pright, T_Scalar pbottom, T_Scalar ptop)
static Matrix4 getLookAtModeling (const Vector3< T_Scalar > &eye, const Vector3< T_Scalar > &at, const Vector3< T_Scalar > &up)
static Matrix4 getLookAt (const Vector3< T_Scalar > &eye, const Vector3< T_Scalar > &at, const Vector3< T_Scalar > &up)
static Matrix4getRotation (Matrix4 &out, T_Scalar degrees, T_Scalar x, T_Scalar y, T_Scalar z)
static Matrix4 getRotation (T_Scalar degrees, T_Scalar x, T_Scalar y, T_Scalar z)
static Matrix4 getRotation (T_Scalar degrees, const Vector3< T_Scalar > &v)
static Matrix4 getRotation (T_Scalar degrees1, const Vector3< T_Scalar > &v1, T_Scalar degrees2, const Vector3< T_Scalar > &v2)
static Matrix4 getRotation (T_Scalar degrees1, const Vector3< T_Scalar > &v1, T_Scalar degrees2, const Vector3< T_Scalar > &v2, T_Scalar degrees3, const Vector3< T_Scalar > &v3)
static Matrix4 getRotationXYZ (T_Scalar degX, T_Scalar degY, T_Scalar degZ)
static Matrix4 getRotationZYX (T_Scalar degZ, T_Scalar degY, T_Scalar degX)
static Matrix4getRotation (Matrix4 &out, const Vector3< T_Scalar > &from, const Vector3< T_Scalar > &to)
static Matrix4 getRotation (const Vector3< T_Scalar > &from, const Vector3< T_Scalar > &to)
static Matrix4getTranslation (Matrix4 &out, const Vector3< T_Scalar > &v)
static Matrix4 getTranslation (const Vector3< T_Scalar > &v)
static Matrix4 getTranslation (T_Scalar x, T_Scalar y, T_Scalar z)
static Matrix4getTranslation (Matrix4 &out, T_Scalar x, T_Scalar y, T_Scalar z)
static Matrix4getScaling (Matrix4 &out, const Vector3< T_Scalar > &v)
static Matrix4 getScaling (const Vector3< T_Scalar > &v)
static Matrix4 getScaling (T_Scalar x, T_Scalar y, T_Scalar z)
static Matrix4getScaling (Matrix4 &out, T_Scalar x, T_Scalar y, T_Scalar z)
static Matrix4multiply (Matrix4 &out, const Matrix4 &p, const Matrix4 &q)

Protected Attributes

Vector4< T_Scalar > mVec [4]

Detailed Description

template<typename T_Scalar>
class vl::Matrix4< T_Scalar >

The Matrix4 class is a template class that implements a generic 4x4 matrix, see also vl::dmat4, vl::fmat4, vl::umat4, vl::imat4.

See also:
Vector4, Vector3, Vector2, Matrix3, Matrix2

Definition at line 48 of file Matrix4.hpp.


Member Typedef Documentation

template<typename T_Scalar>
typedef T_Scalar vl::Matrix4< T_Scalar >::scalar_type

Definition at line 51 of file Matrix4.hpp.


Constructor & Destructor Documentation

template<typename T_Scalar>
template<typename T >
vl::Matrix4< T_Scalar >::Matrix4 ( const Matrix4< T > &  m ) [inline, explicit]

Definition at line 54 of file Matrix4.hpp.

template<typename T_Scalar>
vl::Matrix4< T_Scalar >::Matrix4 (  ) [inline]

Definition at line 62 of file Matrix4.hpp.

Referenced by vl::Matrix4< float >::getIdentity(), and vl::Matrix4< float >::getNull().

template<typename T_Scalar>
vl::Matrix4< T_Scalar >::Matrix4 ( T_Scalar  n ) [inline, explicit]

Definition at line 67 of file Matrix4.hpp.

template<typename T_Scalar>
vl::Matrix4< T_Scalar >::Matrix4 ( T_Scalar *  val ) [inline, explicit]

Definition at line 73 of file Matrix4.hpp.

template<typename T_Scalar>
vl::Matrix4< T_Scalar >::Matrix4 ( T_Scalar  e00,
T_Scalar  e01,
T_Scalar  e02,
T_Scalar  e03,
T_Scalar  e10,
T_Scalar  e11,
T_Scalar  e12,
T_Scalar  e13,
T_Scalar  e20,
T_Scalar  e21,
T_Scalar  e22,
T_Scalar  e23,
T_Scalar  e30,
T_Scalar  e31,
T_Scalar  e32,
T_Scalar  e33 
) [inline, explicit]

Definition at line 78 of file Matrix4.hpp.


Member Function Documentation

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::fill ( T_Scalar  val ) [inline]
template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::fillPtr ( T_Scalar *  val ) [inline]

Definition at line 98 of file Matrix4.hpp.

Referenced by vl::Matrix4< float >::Matrix4().

template<typename T_Scalar>
T_Scalar vl::Matrix4< T_Scalar >::diff ( const Matrix4< T_Scalar > &  other ) const [inline]

Definition at line 104 of file Matrix4.hpp.

template<typename T_Scalar>
Vector3<T_Scalar> vl::Matrix4< T_Scalar >::getX (  ) const [inline]
template<typename T_Scalar>
Vector3<T_Scalar> vl::Matrix4< T_Scalar >::getY (  ) const [inline]
template<typename T_Scalar>
Vector3<T_Scalar> vl::Matrix4< T_Scalar >::getZ (  ) const [inline]
template<typename T_Scalar>
Vector3<T_Scalar> vl::Matrix4< T_Scalar >::getT (  ) const [inline]
template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::setX ( const Vector3< T_Scalar > &  v ) [inline]
template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::setY ( const Vector3< T_Scalar > &  v ) [inline]
template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::setZ ( const Vector3< T_Scalar > &  v ) [inline]
template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::setT ( const Vector3< T_Scalar > &  v ) [inline]
template<typename T_Scalar>
bool vl::Matrix4< T_Scalar >::operator== ( const Matrix4< T_Scalar > &  m ) const [inline]

Definition at line 168 of file Matrix4.hpp.

Referenced by vl::Matrix4< float >::operator!=().

template<typename T_Scalar>
bool vl::Matrix4< T_Scalar >::operator!= ( const Matrix4< T_Scalar > &  m ) const [inline]

Definition at line 173 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::operator= ( const Matrix4< T_Scalar > &  m ) [inline]

Definition at line 178 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::operator+ ( const Matrix4< T_Scalar > &  m ) const [inline]

Definition at line 184 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::operator+= ( const Matrix4< T_Scalar > &  m ) [inline]

Definition at line 194 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::operator- ( const Matrix4< T_Scalar > &  m ) const [inline]

Definition at line 202 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::operator-= ( const Matrix4< T_Scalar > &  m ) [inline]

Definition at line 212 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::operator*= ( const Matrix4< T_Scalar > &  m ) [inline]

Definition at line 220 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::operator- (  ) const [inline]

Definition at line 225 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::operator+ ( T_Scalar  d ) const [inline]

Definition at line 234 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::operator+= ( T_Scalar  d ) [inline]

Definition at line 243 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::operator- ( T_Scalar  d ) const [inline]

Definition at line 251 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::operator-= ( T_Scalar  d ) [inline]

Definition at line 260 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::operator* ( T_Scalar  d ) const [inline]

Definition at line 268 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::operator*= ( T_Scalar  d ) [inline]

Definition at line 277 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::operator/ ( T_Scalar  d ) const [inline]

Definition at line 285 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::operator/= ( T_Scalar  d ) [inline]

Definition at line 295 of file Matrix4.hpp.

template<typename T_Scalar>
bool vl::Matrix4< T_Scalar >::isIdentity (  ) const [inline]

Definition at line 304 of file Matrix4.hpp.

Referenced by vl::vlx_isScaling(), and vl::vlx_isTranslation().

template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::as3x3 (  ) const [inline]
template<typename T_Scalar>
Matrix3<T_Scalar> vl::Matrix4< T_Scalar >::get3x3 (  ) const [inline]
template<typename T_Scalar>
void vl::Matrix4< T_Scalar >::set3x3 ( const Matrix3< T_Scalar > &  m ) [inline]

This writes only on the upper 3x3 part of the matrix without touching the last row and column.

Definition at line 333 of file Matrix4.hpp.

template<typename T_Scalar>
T_Scalar* vl::Matrix4< T_Scalar >::ptr (  ) [inline]
template<typename T_Scalar>
const T_Scalar* vl::Matrix4< T_Scalar >::ptr (  ) const [inline]

Definition at line 345 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::transpose (  ) [inline]
template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::getTransposed (  ) const [inline]

Definition at line 363 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::getTransposed ( Matrix4< T_Scalar > &  dest ) const [inline]

Definition at line 372 of file Matrix4.hpp.

template<typename T_Scalar>
bool vl::Matrix4< T_Scalar >::isNull (  ) const [inline]

Definition at line 380 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::setNull (  ) [inline]

Definition at line 389 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4& vl::Matrix4< T_Scalar >::getNull ( Matrix4< T_Scalar > &  out ) [inline, static]

Definition at line 395 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getNull (  ) [inline, static]

Definition at line 401 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::setIdentity (  ) [inline]
template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getIdentity (  ) [inline, static]

Definition at line 419 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4& vl::Matrix4< T_Scalar >::getIdentity ( Matrix4< T_Scalar > &  out ) [inline, static]

Definition at line 424 of file Matrix4.hpp.

template<typename T_Scalar >
T_Scalar vl::Matrix4< T_Scalar >::getInverse ( Matrix4< T_Scalar > &  dest ) const
template<typename T_Scalar>
Matrix4 vl::Matrix4< T_Scalar >::getInverse ( T_Scalar *  determinant = NULL ) const [inline]

Definition at line 432 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::invert ( T_Scalar *  determinant = NULL ) [inline]
template<typename T_Scalar>
Matrix4< T_Scalar > vl::Matrix4< T_Scalar >::getPerspective ( T_Scalar  fovy,
T_Scalar  aspect_ratio,
T_Scalar  znear,
T_Scalar  zfar 
) [static]

Definition at line 825 of file Matrix4.hpp.

References vl::cos(), vl::dDEG_TO_RAD, vl::Matrix4< T_Scalar >::e(), and vl::sin().

template<typename T_Scalar>
Matrix4< T_Scalar > vl::Matrix4< T_Scalar >::getFrustum ( T_Scalar  pleft,
T_Scalar  pright,
T_Scalar  pbottom,
T_Scalar  ptop,
T_Scalar  pnear,
T_Scalar  pfar 
) [static]

Definition at line 847 of file Matrix4.hpp.

References vl::Matrix4< T_Scalar >::e().

template<typename T_Scalar>
Matrix4< T_Scalar > vl::Matrix4< T_Scalar >::getOrtho ( T_Scalar  pleft,
T_Scalar  pright,
T_Scalar  pbottom,
T_Scalar  ptop,
T_Scalar  pnear,
T_Scalar  pfar 
) [static]

Definition at line 870 of file Matrix4.hpp.

References vl::Matrix4< T_Scalar >::e().

template<typename T_Scalar>
Matrix4< T_Scalar > vl::Matrix4< T_Scalar >::getOrtho2D ( T_Scalar  pleft,
T_Scalar  pright,
T_Scalar  pbottom,
T_Scalar  ptop 
) [static]

Definition at line 898 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4< T_Scalar > vl::Matrix4< T_Scalar >::getLookAtModeling ( const Vector3< T_Scalar > &  eye,
const Vector3< T_Scalar > &  at,
const Vector3< T_Scalar > &  up 
) [static]
template<typename T_Scalar>
Matrix4< T_Scalar > vl::Matrix4< T_Scalar >::getLookAt ( const Vector3< T_Scalar > &  eye,
const Vector3< T_Scalar > &  at,
const Vector3< T_Scalar > &  up 
) [static]
template<typename T_Scalar>
void vl::Matrix4< T_Scalar >::getAsLookAtModeling ( Vector3< T_Scalar > &  eye,
Vector3< T_Scalar > &  at,
Vector3< T_Scalar > &  up,
Vector3< T_Scalar > &  right 
) const
template<typename T_Scalar>
void vl::Matrix4< T_Scalar >::getAsLookAt ( Vector3< T_Scalar > &  eye,
Vector3< T_Scalar > &  at,
Vector3< T_Scalar > &  up,
Vector3< T_Scalar > &  right 
) const
template<typename T_Scalar>
void vl::Matrix4< T_Scalar >::getYXRotationAngles ( T_Scalar &  degrees_y,
T_Scalar &  degrees_x 
) const

If this matrix can be represented as RY(degrees_y) * RX(degrees_x), where RX and RY are getRotation matrices around the X and Y axis respectively, this function returns the getRotation angles degrees_y and degrees_x.

Note:
This function can only retrieve angles that satisfy the following conditions:
  • -180 <= degrees_y <= 180
  • -180 <= degrees_x <= 180 and degrees_x != 90

Definition at line 1199 of file Matrix4.hpp.

References vl::acos(), vl::clamp(), vl::dot(), vl::dRAD_TO_DEG, and vl::Vector3< T_Scalar >::normalize().

Referenced by vl::GhostCameraManipulator::enableEvent().

template<typename T_Scalar>
Matrix4< T_Scalar > & vl::Matrix4< T_Scalar >::getRotation ( Matrix4< T_Scalar > &  out,
T_Scalar  degrees,
T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [static]
template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getRotation ( T_Scalar  degrees,
T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [inline, static]

Definition at line 469 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getRotation ( T_Scalar  degrees,
const Vector3< T_Scalar > &  v 
) [inline, static]

Definition at line 475 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getRotation ( T_Scalar  degrees1,
const Vector3< T_Scalar > &  v1,
T_Scalar  degrees2,
const Vector3< T_Scalar > &  v2 
) [inline, static]

Definition at line 480 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getRotation ( T_Scalar  degrees1,
const Vector3< T_Scalar > &  v1,
T_Scalar  degrees2,
const Vector3< T_Scalar > &  v2,
T_Scalar  degrees3,
const Vector3< T_Scalar > &  v3 
) [inline, static]

Definition at line 485 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::rotate ( T_Scalar  degrees,
const Vector3< T_Scalar > &  v 
) [inline]

Definition at line 490 of file Matrix4.hpp.

Referenced by vl::Text::rotate(), and vl::Matrix4< float >::rotate().

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::rotate ( T_Scalar  degrees,
T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [inline]

Definition at line 495 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::rotate ( T_Scalar  degrees1,
const Vector3< T_Scalar > &  v1,
T_Scalar  degrees2,
const Vector3< T_Scalar > &  v2 
) [inline]

Definition at line 500 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::rotate ( T_Scalar  degrees1,
const Vector3< T_Scalar > &  v1,
T_Scalar  degrees2,
const Vector3< T_Scalar > &  v2,
T_Scalar  degrees3,
const Vector3< T_Scalar > &  v3 
) [inline]

Definition at line 505 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getRotationXYZ ( T_Scalar  degX,
T_Scalar  degY,
T_Scalar  degZ 
) [inline, static]

Definition at line 510 of file Matrix4.hpp.

Referenced by vl::Matrix4< float >::rotateXYZ().

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::rotateXYZ ( T_Scalar  degX,
T_Scalar  degY,
T_Scalar  degZ 
) [inline]

Definition at line 515 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getRotationZYX ( T_Scalar  degZ,
T_Scalar  degY,
T_Scalar  degX 
) [inline, static]

Definition at line 520 of file Matrix4.hpp.

Referenced by vl::Matrix4< float >::rotateZYX().

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::rotateZYX ( T_Scalar  degZ,
T_Scalar  degY,
T_Scalar  degX 
) [inline]

Definition at line 525 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4< T_Scalar > & vl::Matrix4< T_Scalar >::getRotation ( Matrix4< T_Scalar > &  out,
const Vector3< T_Scalar > &  from,
const Vector3< T_Scalar > &  to 
) [static]
template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getRotation ( const Vector3< T_Scalar > &  from,
const Vector3< T_Scalar > &  to 
) [inline, static]

Definition at line 532 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::rotate ( const Vector4< T_Scalar > &  from,
const Vector4< T_Scalar > &  to 
) [inline]

Definition at line 538 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::rotate ( const Vector3< T_Scalar > &  from,
const Vector3< T_Scalar > &  to 
) [inline]

Definition at line 543 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4& vl::Matrix4< T_Scalar >::getTranslation ( Matrix4< T_Scalar > &  out,
const Vector3< T_Scalar > &  v 
) [inline, static]
template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getTranslation ( const Vector3< T_Scalar > &  v ) [inline, static]

Definition at line 553 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getTranslation ( T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [inline, static]

Definition at line 559 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4& vl::Matrix4< T_Scalar >::getTranslation ( Matrix4< T_Scalar > &  out,
T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [inline, static]

Definition at line 565 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::translate ( T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [inline]
template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::translate ( const Vector3< T_Scalar > &  v ) [inline]

Definition at line 579 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4& vl::Matrix4< T_Scalar >::getScaling ( Matrix4< T_Scalar > &  out,
const Vector3< T_Scalar > &  v 
) [inline, static]

Definition at line 584 of file Matrix4.hpp.

Referenced by vl::Matrix4< float >::getScaling(), and vl::Matrix4< float >::scale().

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getScaling ( const Vector3< T_Scalar > &  v ) [inline, static]

Definition at line 589 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4 vl::Matrix4< T_Scalar >::getScaling ( T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [inline, static]

Definition at line 595 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4& vl::Matrix4< T_Scalar >::getScaling ( Matrix4< T_Scalar > &  out,
T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [inline, static]

Definition at line 601 of file Matrix4.hpp.

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::scale ( T_Scalar  x,
T_Scalar  y,
T_Scalar  z 
) [inline]

Definition at line 610 of file Matrix4.hpp.

Referenced by vl::Terrain::init().

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::scale ( const Vector3< T_Scalar >  v ) [inline]

Definition at line 615 of file Matrix4.hpp.

template<typename T_Scalar>
static Matrix4& vl::Matrix4< T_Scalar >::multiply ( Matrix4< T_Scalar > &  out,
const Matrix4< T_Scalar > &  p,
const Matrix4< T_Scalar > &  q 
) [inline, static]
template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::postMultiply ( const Matrix4< T_Scalar > &  m ) [inline]

Definition at line 647 of file Matrix4.hpp.

Referenced by vl::Matrix4< float >::operator*=().

template<typename T_Scalar>
Matrix4& vl::Matrix4< T_Scalar >::preMultiply ( const Matrix4< T_Scalar > &  m ) [inline]
template<typename T_Scalar>
const T_Scalar& vl::Matrix4< T_Scalar >::e ( int  i,
int  j 
) const [inline]
template<typename T_Scalar>
T_Scalar& vl::Matrix4< T_Scalar >::e ( int  i,
int  j 
) [inline]

Definition at line 661 of file Matrix4.hpp.


Member Data Documentation

template<typename T_Scalar>
Vector4<T_Scalar> vl::Matrix4< T_Scalar >::mVec[4] [protected]

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

Visualization Library v1.0.3 Reference Documentation
Copyright Michele Bosi. All rights reserved.
Updated on Tue Feb 7 2017 00:55:06.
Permission is granted to use this page to write and publish articles regarding Visualization Library.