ML Reference
mlMatrix4.h File Reference
#include "mlLinearAlgebraSystem.h"
#include "mlLinearAlgebraDefs.h"
#include "mlFloatingPointMatrix.h"
#include "mlMatrix3.h"
#include "mlVector4.h"
#include "mlVector3.h"

Go to the source code of this file.

Classes

class  ml::Tmat4< DT >
 A four by four matrix class consisting of 4 row vectors. More...
 

Namespaces

namespace  ml
 Main documentation file for ML users and developers.
 
namespace  std
 STL namespace.
 

Typedefs

Specializations for float, double and long double.
typedef Tmat4< MLfloatml::Matrix4f
 A 4x4 matrix of type float.
 
typedef Tmat4< MLdoubleml::Matrix4d
 A 4x4 matrix of type double.
 
typedef Tmat4< MLldoubleml::Matrix4ld
 A 4x4 matrix of type long double.
 
typedef Tmat4< MLdoubleml::Matrix4
 The standard 4x4 matrix of type double.
 

Functions

Global functions and operators for class Tmat4.
template<class DT >
Tmat4< DT > ml::operator- (const Tmat4< DT > &a)
 Returns the matrix a with all values negated.
 
template<class DT >
Tmat4< DT > ml::operator+ (const Tmat4< DT > &a, const Tmat4< DT > &b)
 Returns the component wise sum of matrix a and matrix b.
 
template<class DT >
Tmat4< DT > ml::operator- (const Tmat4< DT > &a, const Tmat4< DT > &b)
 Returns the component wise difference of matrix a and matrix b.
 
template<class DT >
Tmat4< DT > ml::operator* (const Tmat4< DT > &a, const DT d)
 Returns the component wise multiplication of matrix a with scalar d.
 
template<class DT >
Tmat4< DT > ml::operator* (const DT d, const Tmat4< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a.
 
template<class DT >
Tmat4< DT > ml::operator/ (const Tmat4< DT > &a, const DT d)
 Returns the component wise division of matrix a by scalar d.
 
Tmat4<DT> member functions
template<class DT >
Tmat4< DT > ml::identity3D ()
 Returns a 4x4 homogeneous identity3D matrix; synonym for Tmat4<DT>::getIdentity().
 
template<class DT >
Tmat4< DT > ml::translation3D (const Tvec3< DT > &v)
 Returns a 4x4 homogeneous translation matrix with default identity matrix contents and the upper three components in right column given by 3D vector v.
 
template<class DT >
Tmat4< DT > ml::rotation3D (Tvec3< DT > Axis, const DT angleRad)
 Returns a 4x4 homogeneous 3D rotation matrix describing a rotation with angle angleRad around axis Axis where center specifies the center of rotation.
 
template<class DT >
Tmat4< DT > ml::scaling3D (const Tvec3< DT > &scaleVector)
 Scaling 3D.
 
template<class DT >
Tmat4< DT > ml::perspective3D (const DT d)
 Creates a 4x4 homogeneous perspective projection matrix with perspective shortening value given by d which must differ from zero to avoid errors.
 
template<class DT >
std::ostream & std::operator<< (std::ostream &os, const ml::Tmat4< DT > &m)
 Support for standard IO streams.
 
template<class DT >
std::istream & std::operator>> (std::istream &is, ml::Tmat4< DT > &m)
 

Functions and operators for class Tmat4.

#define _ML_MAT4_RC(i, j)
 Helper macro only locally defined for Tmat4 matrix multiplication.
 
template<class DT >
Tmat4< DT > ml::operator* (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a * b.
 
template<class DT >
bool ml::operator== (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a == b ? Return true if yes.
 
template<class DT >
bool ml::operator!= (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a != b ? Return true if yes.
 

Macro Definition Documentation

◆ _ML_MAT4_RC

#define _ML_MAT4_RC ( i,
j )
Value:
a[i][0]*b[0][j] + a[i][1]*b[1][j] + \
a[i][2]*b[2][j] + a[i][3]*b[3][j]

Helper macro only locally defined for Tmat4 matrix multiplication.

Definition at line 344 of file mlMatrix4.h.

Referenced by ml::operator*().