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 4x4 matrix class consisting of four 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.
 
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 that must differ from zero to avoid errors.
 
template<class DT >
std::ostream & std::operator<< (std::ostream &os, const ml::Tmat4< DT > &m)
 Support for standardI/O 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 ? Returns true if yes.
 
template<class DT >
bool ml::operator!= (const Tmat4< DT > &a, const Tmat4< DT > &b)
 a != b ? Returns 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*().