MeVisLab Toolbox Reference
mlMatrix3.h File Reference
#include "mlLinearAlgebraSystem.h"
#include "mlLinearAlgebraDefs.h"
#include "mlLinearAlgebraTools.h"
#include "mlFloatingPointMatrix.h"
#include "mlMatrix2.h"
#include "mlVector3.h"
#include <cstdlib>

Go to the source code of this file.

Classes

class  ml::Tmat3< DT >
 A three by three matrix class of three row vectors. More...
 

Namespaces

 ml
 Main documentation file for ML users and developers.
 

Typedefs

Specializations for float, double and long double.
typedef Tmat3< MLfloatml::Matrix3f
 A 3x3 matrix of type float. More...
 
typedef Tmat3< MLdoubleml::Matrix3d
 A 3x3 matrix of type double. More...
 
typedef Tmat3< MLldoubleml::Matrix3ld
 A 3x3 matrix of type long double. More...
 
typedef Tmat3< MLdoubleml::Matrix3
 The standard 3x3 matrix of type double. More...
 

Functions

template<class DT >
std::ostream & std::operator<< (std::ostream &os, const ml::Tmat3< DT > &m)
 Output to std::ostream. More...
 
template<class DT >
std::istream & std::operator>> (std::istream &is, ml::Tmat3< DT > &m)
 Input from stream. More...
 
Global operators and functions of class Tmat3.
template<class DT >
Tmat3< DT > ml::operator- (const Tmat3< DT > &a)
 Returns a matrix a with all values negated. More...
 
template<class DT >
Tmat3< DT > ml::operator+ (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Returns the component wise sum of matrix a and matrix b. More...
 
template<class DT >
Tmat3< DT > ml::operator- (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Returns the component wise difference of matrix a and matrix b. More...
 
template<class DT >
Tmat3< DT > ml::operator* (const Tmat3< DT > &a, const DT d)
 Returns the component wise multiplication of matrix a with scalar d. More...
 
template<class DT >
Tmat3< DT > ml::operator* (const DT d, const Tmat3< DT > &a)
 Returns the component wise multiplication of scalar d with matrix a. More...
 
template<class DT >
Tmat3< DT > ml::operator/ (const Tmat3< DT > &a, const DT d)
 Returns the component wise division of matrix a by scalar d. More...
 

Special Functions

#define DET3(A, B, C, D, E, F, G, H, I)   ((A*E*I + B*F*G + C*D*H) - (A*F*H + B*D*I + C*E*G))
 Internal helper macro to calculate the determinant of 3x3 matrix with given entries, do not use. More...
 
#define _ML_MAT3_RC(i, j)   a[i][0]*b[0][j] + a[i][1]*b[1][j] + a[i][2]*b[2][j]
 Internal helper macro to multiply two matrices, do not use. More...
 
template<class DT >
Tmat3< DT > ml::operator* (const Tmat3< DT > &a, const Tmat3< DT > &b)
 Matrix 3 product. More...
 
template<class DT >
bool ml::operator== (const Tmat3< DT > &a, const Tmat3< DT > &b)
 a == b ? Return true if yes, otherwise false. More...
 
template<class DT >
bool ml::operator!= (const Tmat3< DT > &a, const Tmat3< DT > &b)
 a != b ? Return true if yes, otherwise false. More...
 
template<class DT >
Tmat3< DT > ml::identity2D ()
 Returns a 3x3 homogeneous identity2D matrix; synonym for Tmat3<DT>::getIdentity(). More...
 
template<class DT >
Tmat3< DT > ml::translation2D (const Tvec2< DT > &v)
 Returns a 2D translation matrix as 3D homogeneous matrix where the translation is located in the right column. More...
 
template<class DT >
Tmat3< DT > ml::rotation2D (const Tvec2< DT > &Center, const DT angleDeg)
 Returns a 2D rotation matrix as 3D homogeneous matrix where center specifies the center of rotation. More...
 
template<class DT >
Tmat3< DT > ml::scaling2D (const Tvec2< DT > &scaleVector)
 Returns a 2D scale matrix as 3D homogeneous matrix. More...
 

Macro Definition Documentation

◆ _ML_MAT3_RC

#define _ML_MAT3_RC (   i,
 
)    a[i][0]*b[0][j] + a[i][1]*b[1][j] + a[i][2]*b[2][j]

Internal helper macro to multiply two matrices, do not use.

Definition at line 457 of file mlMatrix3.h.

◆ DET3

#define DET3 (   A,
  B,
  C,
  D,
  E,
  F,
  G,
  H,
  I 
)    ((A*E*I + B*F*G + C*D*H) - (A*F*H + B*D*I + C*E*G))

Internal helper macro to calculate the determinant of 3x3 matrix with given entries, do not use.

Definition at line 409 of file mlMatrix3.h.

Function Documentation

◆ operator<<()

template<class DT >
std::ostream& std::operator<< ( std::ostream &  os,
const ml::Tmat3< DT > &  m 
)
inline

Output to std::ostream.

Definition at line 751 of file mlMatrix3.h.

References std::operator<<().

◆ operator>>()

template<class DT >
std::istream& std::operator>> ( std::istream &  is,
ml::Tmat3< DT > &  m 
)
inline

Input from stream.

Definition at line 760 of file mlMatrix3.h.

References ml::is().