Files Class List
Matrix34< TYPE > Class Template Reference

Detailed Description

template<typename TYPE>
class cy::Matrix34< TYPE >

3x4 matrix class.

Its data stores 12-value array of column-major matrix elements. I chose column-major format to be compatible with OpenGL You can use Matrix34 with Point3<TYPE> and Point4<TYPE> to transform 3D and 4D points.

#include <cyMatrix.h>

Public Member Functions

Constructors
 Matrix34 ()
 
 Matrix34 (const Matrix34 &matrix)
 
template<typename T >
 Matrix34 (const Matrix34< T > &matrix)
 
 Matrix34 (const TYPE *values)
 
 Matrix34 (const TYPE v)
 
 Matrix34 (const Point3< TYPE > &x, const Point3< TYPE > &y, const Point3< TYPE > &z, const Point3< TYPE > &pos)
 
 Matrix34 (const Point3< TYPE > &pos, const Point3< TYPE > &normal, const Point3< TYPE > &dir)
 
 Matrix34 (const Matrix3< TYPE > &m)
 
 Matrix34 (const Matrix3< TYPE > &m, const Point3< TYPE > &pos)
 
 Matrix34 (const Matrix2< TYPE > &m)
 
 Matrix34 (const Matrix4< TYPE > &m)
 
 Matrix34 (TYPE row0col0, TYPE row0col1, TYPE row0col2, TYPE row0col3, TYPE row1col0, TYPE row1col1, TYPE row1col2, TYPE row1col3, TYPE row2col0, TYPE row2col1, TYPE row2col2, TYPE row2col3)
 
Set & Get Methods
void Zero ()
 
bool IsZero () const
 
void Get (TYPE *values)
 
void Set (const TYPE *values)
 
void Set (const Point3< TYPE > &x, const Point3< TYPE > &y, const Point3< TYPE > &z, const Point3< TYPE > &pos)
 
void Set (const Point3< TYPE > &pos, const Point3< TYPE > &normal, const Point3< TYPE > &dir)
 
void SetIdentity ()
 
void SetScaledIdentity (TYPE v)
 
Affine transformations
void SetScale (TYPE uniformScale)
 
void SetScale (TYPE scaleX, TYPE scaleY, TYPE scaleZ)
 
void SetScale (const Point3< TYPE > &scale)
 
void SetNoScale ()
 
void SetRotationX (TYPE angle)
 
void SetRotationX (TYPE sinAngle, TYPE cosAngle)
 
void SetRotationY (TYPE angle)
 
void SetRotationY (TYPE sinAngle, TYPE cosAngle)
 
void SetRotationZ (TYPE angle)
 
void SetRotationZ (TYPE sinAngle, TYPE cosAngle)
 
void SetRotationXYZ (TYPE angleX, TYPE angleY, TYPE angleZ)
 
void SetRotationZYX (TYPE angleX, TYPE angleY, TYPE angleZ)
 
void SetRotation (const Point3< TYPE > &axis, TYPE angle)
 
void SetRotation (const Point3< TYPE > &axis, TYPE sinAngle, TYPE cosAngle)
 
void SetRotation (const Point3< TYPE > &from, const Point3< TYPE > &to)
 
void SetTrans (const Point3< TYPE > &move)
 
void AddTrans (const Point3< TYPE > &move)
 
void SetTransComponent (const Point3< TYPE > &move)
 
void SetView (const Point3< TYPE > &pos, const Point3< TYPE > &target, const Point3< TYPE > &up)
 
void SetNormal (const Point3< TYPE > &normal, const Point3< TYPE > &dir)
 
Set Row, Column, or Diagonal
void SetRow (int row, TYPE x, TYPE y, TYPE z, TYPE w)
 
void SetColumn (int column, TYPE x, TYPE y, TYPE z)
 
void SetDiagonal (TYPE xx, TYPE yy, TYPE zz)
 
void SetDiagonal (const Point3< TYPE > &p)
 
void SetDiagonal (const TYPE *values)
 
Get Row, Column, or Diagonal
Point4< TYPE > GetRow (int row) const
 
void GetRow (int row, Point4< TYPE > &p) const
 
void GetRow (int row, TYPE *values) const
 
Point3< TYPE > GetColumn (int col) const
 
void GetColumn (int col, Point3< TYPE > &p) const
 
void GetColumn (int col, TYPE *values) const
 
Point3< TYPE > GetDiagonal () const
 
void GetDiagonal (Point3< TYPE > &p) const
 
void GetDiagonal (TYPE *values) const
 
Get Sub-matrix data
void GetSubMatrix (Matrix3< TYPE > &m) const
 
void GetSubMatrix (Matrix2< TYPE > &m) const
 
Matrix3< TYPE > GetSubMatrix3 () const
 
void GetSubMatrix3 (Matrix3< TYPE > &m) const
 
void GetSubMatrix3 (TYPE *mdata) const
 
Matrix2< TYPE > GetSubMatrix2 () const
 
void GetSubMatrix2 (Matrix2< TYPE > &m) const
 
void GetSubMatrix2 (TYPE *mdata) const
 
Point3< TYPE > GetTrans () const
 
void GetTrans (Point3< TYPE > &p) const
 
void GetTrans (TYPE *trans) const
 
TYPE GetAvrgScale () const
 
Comparison Operators
bool operator== (const Matrix34 &right) const
 
bool operator!= (const Matrix34 &right) const
 
Access Operators
TYPE & operator() (int row, int column)
 
const TYPE & operator() (int row, int column) const
 
TYPE & operator[] (int i)
 
const TYPE & operator[] (int i) const
 
Unary and Binary Operators
Matrix34 operator- () const
 
Matrix34 operator* (const TYPE value) const
 
Matrix34 operator/ (const TYPE value) const
 
Matrix34 operator+ (const Matrix34 &right) const
 
Matrix34 operator- (const Matrix34 &right) const
 
Matrix34 operator* (const Matrix34 &right) const
 
Matrix34 operator* (const Matrix3< TYPE > &right) const
 
Point3< TYPE > operator* (const Point3< TYPE > &p) const
 
Point4< TYPE > operator* (const Point4< TYPE > &p) const
 
3D Vector Transform Methods
Point3< TYPE > VectorTransform (const Point3< TYPE > &p) const
 
Assignment Operators
const Matrix34operator= (const Matrix34 &right)
 
const Matrix34operator+= (const Matrix34 &right)
 
const Matrix34operator-= (const Matrix34 &right)
 
const Matrix34operator*= (const Matrix34 &right)
 
const Matrix34operator*= (const Matrix3< TYPE > &right)
 
const Matrix34operator*= (const TYPE value)
 
const Matrix34operator/= (const TYPE value)
 
Other Methods
void Transpose ()
 
void GetTranspose (Matrix4< TYPE > &m) const
 
Matrix4< TYPE > GetTranspose () const
 
Point4< TYPE > TransposeMult (const Point3< TYPE > &p) const
 
Point4< TYPE > TransposeMult (const Point4< TYPE > &p) const
 
TYPE GetDeterminant () const
 
void Invert ()
 
void GetInverse (Matrix34 &inverse) const
 
Matrix34 GetInverse () const
 
void OrthogonalizeX ()
 
void OrthogonalizeY ()
 
void OrthogonalizeZ ()
 
bool IsIdentity (TYPE tollerance=TYPE(0.001)) const
 
bool IsSymmetric (TYPE tollerance=TYPE(0.001)) const
 

Static Public Member Functions

Static Methods
static Matrix34 MatrixIdentity ()
 
static Matrix34 MatrixNormal (const Point3< TYPE > &normal, Point3< TYPE > &dir)
 
static Matrix34 MatrixRotationX (TYPE angle)
 
static Matrix34 MatrixRotationY (TYPE angle)
 
static Matrix34 MatrixRotationZ (TYPE angle)
 
static Matrix34 MatrixRotationXYZ (TYPE angleX, TYPE angleY, TYPE angleZ)
 
static Matrix34 MatrixRotationZYX (TYPE angleX, TYPE angleY, TYPE angleZ)
 
static Matrix34 MatrixRotation (const Point3< TYPE > &axis, TYPE angle)
 
static Matrix34 MatrixRotation (const Point3< TYPE > &from, const Point3< TYPE > &to)
 
static Matrix34 MatrixScale (TYPE uniformScale)
 
static Matrix34 MatrixScale (TYPE scaleX, TYPE scaleY, TYPE scaleZ)
 
static Matrix34 MatrixScale (const Point3< TYPE > &scale)
 
static Matrix34 MatrixTrans (const Point3< TYPE > &move)
 

Public Attributes

TYPE data [12]
 

Friends

Matrix34 operator* (const TYPE value, const Matrix34 &right)
 
Matrix34 Inverse (const Matrix34 &m)
 

Constructor & Destructor Documentation

§ Matrix34() [1/12]

Matrix34 ( )

Default constructor.

§ Matrix34() [2/12]

Matrix34 ( const Matrix34< TYPE > &  matrix)

Copy constructor.

§ Matrix34() [3/12]

Matrix34 ( const Matrix34< T > &  matrix)
explicit

Copy constructor for different types.

§ Matrix34() [4/12]

Matrix34 ( const TYPE *  values)
explicit

Initialize the matrix using an array of 9 values.

§ Matrix34() [5/12]

Matrix34 ( const TYPE  v)
explicit

Initialize the matrix as identity scaled by v.

§ Matrix34() [6/12]

Matrix34 ( const Point3< TYPE > &  x,
const Point3< TYPE > &  y,
const Point3< TYPE > &  z,
const Point3< TYPE > &  pos 
)
explicit

Initialize the matrix using x,y,z vectors and coordinate center.

§ Matrix34() [7/12]

Matrix34 ( const Point3< TYPE > &  pos,
const Point3< TYPE > &  normal,
const Point3< TYPE > &  dir 
)
explicit

Initialize the matrix using position, normal, and approximate x direction.

§ Matrix34() [8/12]

Matrix34 ( const Matrix3< TYPE > &  m)
explicit

Default constructor.

§ Matrix34() [9/12]

Matrix34 ( const Matrix3< TYPE > &  m,
const Point3< TYPE > &  pos 
)
explicit

Default constructor.

§ Matrix34() [10/12]

Matrix34 ( const Matrix2< TYPE > &  m)
explicit

Default constructor.

§ Matrix34() [11/12]

Matrix34 ( const Matrix4< TYPE > &  m)
explicit

Default constructor.

§ Matrix34() [12/12]

Matrix34 ( TYPE  row0col0,
TYPE  row0col1,
TYPE  row0col2,
TYPE  row0col3,
TYPE  row1col0,
TYPE  row1col1,
TYPE  row1col2,
TYPE  row1col3,
TYPE  row2col0,
TYPE  row2col1,
TYPE  row2col2,
TYPE  row2col3 
)

Constructor using row-major order for initialization.

Member Function Documentation

§ Zero()

void Zero ( )

Set all the values as zero.

§ IsZero()

bool IsZero ( ) const

Returns true if the matrix is exactly zero.

§ Get()

void Get ( TYPE *  values)

Copies the matrix data to the given values array of size 12.

§ Set() [1/3]

void Set ( const TYPE *  values)

Set Matrix using an array of 12 values.

§ Set() [2/3]

void Set ( const Point3< TYPE > &  x,
const Point3< TYPE > &  y,
const Point3< TYPE > &  z,
const Point3< TYPE > &  pos 
)

Set matrix using x,y,z vectors and coordinate center.

§ Set() [3/3]

void Set ( const Point3< TYPE > &  pos,
const Point3< TYPE > &  normal,
const Point3< TYPE > &  dir 
)

Set matrix using position, normal, and approximate x direction.

§ SetIdentity()

void SetIdentity ( )

Converts the matrix to an identity matrix.

§ SetScaledIdentity()

void SetScaledIdentity ( TYPE  v)

Converts the matrix to an identity matrix scaled by a scalar.

§ SetScale() [1/3]

void SetScale ( TYPE  uniformScale)

Sets a uniform scale matrix.

§ SetScale() [2/3]

void SetScale ( TYPE  scaleX,
TYPE  scaleY,
TYPE  scaleZ 
)

Sets a scale matrix.

§ SetScale() [3/3]

void SetScale ( const Point3< TYPE > &  scale)

Sets a scale matrix.

§ SetNoScale()

void SetNoScale ( )

Removes the scale component of the matrix.

§ SetRotationX() [1/2]

void SetRotationX ( TYPE  angle)

Set as rotation matrix around x axis.

§ SetRotationX() [2/2]

void SetRotationX ( TYPE  sinAngle,
TYPE  cosAngle 
)

Set as rotation matrix around x axis by cos and sin of angle.

§ SetRotationY() [1/2]

void SetRotationY ( TYPE  angle)

Set as rotation matrix around y axis.

§ SetRotationY() [2/2]

void SetRotationY ( TYPE  sinAngle,
TYPE  cosAngle 
)

Set as rotation matrix around y axis by cos and sin of angle.

§ SetRotationZ() [1/2]

void SetRotationZ ( TYPE  angle)

Set as rotation matrix around z axis.

§ SetRotationZ() [2/2]

void SetRotationZ ( TYPE  sinAngle,
TYPE  cosAngle 
)

Set as rotation matrix around z axis by cos and sin of angle.

§ SetRotationXYZ()

void SetRotationXYZ ( TYPE  angleX,
TYPE  angleY,
TYPE  angleZ 
)

Set as rotation matrix around x, y, and then z axes ( Rz * Ry * Rx )

§ SetRotationZYX()

void SetRotationZYX ( TYPE  angleX,
TYPE  angleY,
TYPE  angleZ 
)

Set as rotation matrix around z, y, and then x axes ( Rx * Ry * Rz )

§ SetRotation() [1/3]

void SetRotation ( const Point3< TYPE > &  axis,
TYPE  angle 
)

Set a rotation matrix about the given axis by angle.

§ SetRotation() [2/3]

void SetRotation ( const Point3< TYPE > &  axis,
TYPE  sinAngle,
TYPE  cosAngle 
)

Set a rotation matrix about the given axis by cos and sin of angle.

§ SetRotation() [3/3]

void SetRotation ( const Point3< TYPE > &  from,
const Point3< TYPE > &  to 
)

Set a rotation matrix that sets [from] unit vector to [to] unit vector.

§ SetTrans()

void SetTrans ( const Point3< TYPE > &  move)

Sets a translation matrix with no rotation or scale.

§ AddTrans()

void AddTrans ( const Point3< TYPE > &  move)

Adds a translation to the matrix.

§ SetTransComponent()

void SetTransComponent ( const Point3< TYPE > &  move)

Sets the translation component of the matrix.

§ SetView()

void SetView ( const Point3< TYPE > &  pos,
const Point3< TYPE > &  target,
const Point3< TYPE > &  up 
)

Set view matrix using position, target and approximate up vector.

§ SetNormal()

void SetNormal ( const Point3< TYPE > &  normal,
const Point3< TYPE > &  dir 
)

Set matrix using normal and approximate x direction.

§ SetRow()

void SetRow ( int  row,
TYPE  x,
TYPE  y,
TYPE  z,
TYPE  w 
)

Sets a row of the matrix.

§ SetColumn()

void SetColumn ( int  column,
TYPE  x,
TYPE  y,
TYPE  z 
)

Sets a column of the matrix.

§ SetDiagonal() [1/3]

void SetDiagonal ( TYPE  xx,
TYPE  yy,
TYPE  zz 
)

Sets the diagonal values of the matrix.

§ SetDiagonal() [2/3]

void SetDiagonal ( const Point3< TYPE > &  p)

Sets the diagonal values of the matrix.

§ SetDiagonal() [3/3]

void SetDiagonal ( const TYPE *  values)

Sets the diagonal values of the matrix.

§ GetRow() [1/3]

Point4<TYPE> GetRow ( int  row) const

Returns a row of the matrix.

§ GetRow() [2/3]

void GetRow ( int  row,
Point4< TYPE > &  p 
) const

Returns a row of the matrix.

§ GetRow() [3/3]

void GetRow ( int  row,
TYPE *  values 
) const

Returns a row of the matrix.

§ GetColumn() [1/3]

Point3<TYPE> GetColumn ( int  col) const

Returns a column of the matrix.

§ GetColumn() [2/3]

void GetColumn ( int  col,
Point3< TYPE > &  p 
) const

Returns a column of the matrix.

§ GetColumn() [3/3]

void GetColumn ( int  col,
TYPE *  values 
) const

Returns a column of the matrix.

§ GetDiagonal() [1/3]

Point3<TYPE> GetDiagonal ( ) const

Returns the diagonal of the matrix.

§ GetDiagonal() [2/3]

void GetDiagonal ( Point3< TYPE > &  p) const

Returns the diagonal of the matrix.

§ GetDiagonal() [3/3]

void GetDiagonal ( TYPE *  values) const

Returns the diagonal of the matrix.

§ GetSubMatrix() [1/2]

void GetSubMatrix ( Matrix3< TYPE > &  m) const

Returns the 3x3 portion of the matrix.

§ GetSubMatrix() [2/2]

void GetSubMatrix ( Matrix2< TYPE > &  m) const

Returns the 2x2 portion of the matrix.

§ GetSubMatrix3() [1/3]

Matrix3<TYPE> GetSubMatrix3 ( ) const

Returns the 3x3 portion of the matrix.

§ GetSubMatrix3() [2/3]

void GetSubMatrix3 ( Matrix3< TYPE > &  m) const

Returns the 3x3 portion of the matrix.

§ GetSubMatrix3() [3/3]

void GetSubMatrix3 ( TYPE *  mdata) const

Returns the 3x3 portion of the matrix.

§ GetSubMatrix2() [1/3]

Matrix2<TYPE> GetSubMatrix2 ( ) const

Returns the 2x2 portion of the matrix.

§ GetSubMatrix2() [2/3]

void GetSubMatrix2 ( Matrix2< TYPE > &  m) const

Returns the 2x2 portion of the matrix.

§ GetSubMatrix2() [3/3]

void GetSubMatrix2 ( TYPE *  mdata) const

Returns the 2x2 portion of the matrix.

§ GetTrans() [1/3]

Point3<TYPE> GetTrans ( ) const

Returns the translation component of the matrix.

§ GetTrans() [2/3]

void GetTrans ( Point3< TYPE > &  p) const

Returns the translation component of the matrix.

§ GetTrans() [3/3]

void GetTrans ( TYPE *  trans) const

Returns the translation component of the matrix.

§ GetAvrgScale()

TYPE GetAvrgScale ( ) const

Returns the average scale factor of the 3 by 3 sub-matrix.

§ operator==()

bool operator== ( const Matrix34< TYPE > &  right) const

compare equal

§ operator!=()

bool operator!= ( const Matrix34< TYPE > &  right) const

compare not equal

§ operator()() [1/2]

TYPE& operator() ( int  row,
int  column 
)

subscript operator

§ operator()() [2/2]

const TYPE& operator() ( int  row,
int  column 
) const

constant subscript operator

§ operator[]() [1/2]

TYPE& operator[] ( int  i)

subscript operator

§ operator[]() [2/2]

const TYPE& operator[] ( int  i) const

constant subscript operator

§ operator-() [1/2]

Matrix34 operator- ( ) const

negative matrix

§ operator*() [1/5]

Matrix34 operator* ( const TYPE  value) const

multiply matrix by a value

§ operator/()

Matrix34 operator/ ( const TYPE  value) const

divide matrix by a value;

§ operator+()

Matrix34 operator+ ( const Matrix34< TYPE > &  right) const

add two Matrices

§ operator-() [2/2]

Matrix34 operator- ( const Matrix34< TYPE > &  right) const

subtract one Matrix4 from another

§ operator*() [2/5]

Matrix34 operator* ( const Matrix34< TYPE > &  right) const

< multiply a matrix with another

§ operator*() [3/5]

Matrix34 operator* ( const Matrix3< TYPE > &  right) const

< multiply a matrix with another

§ operator*() [4/5]

Point3<TYPE> operator* ( const Point3< TYPE > &  p) const

negative matrix

§ operator*() [5/5]

Point4<TYPE> operator* ( const Point4< TYPE > &  p) const

negative matrix

§ VectorTransform()

Point3<TYPE> VectorTransform ( const Point3< TYPE > &  p) const

Transforms the vector by multiplying it with the matrix, ignoring the translation component.

§ operator=()

const Matrix34& operator= ( const Matrix34< TYPE > &  right)

add two Matrices modify this

§ operator+=()

const Matrix34& operator+= ( const Matrix34< TYPE > &  right)

add two Matrices modify this

§ operator-=()

const Matrix34& operator-= ( const Matrix34< TYPE > &  right)

subtract one Matrix4 from another matrix and modify this matrix

§ operator*=() [1/3]

const Matrix34& operator*= ( const Matrix34< TYPE > &  right)

multiply a matrix with another matrix and modify this matrix

§ operator*=() [2/3]

const Matrix34& operator*= ( const Matrix3< TYPE > &  right)

multiply a matrix with another matrix and modify this matrix

§ operator*=() [3/3]

const Matrix34& operator*= ( const TYPE  value)

multiply a matrix with a value modify this matrix

§ operator/=()

const Matrix34& operator/= ( const TYPE  value)

divide the matrix by a value modify the this matrix

§ Transpose()

void Transpose ( )

Transpose this matrix.

§ GetTranspose() [1/2]

void GetTranspose ( Matrix4< TYPE > &  m) const

return Transpose of this matrix

§ GetTranspose() [2/2]

Matrix4< TYPE > GetTranspose ( ) const

return Transpose of this matrix

§ TransposeMult() [1/2]

Point4<TYPE> TransposeMult ( const Point3< TYPE > &  p) const

Multiply the give vector with the transpose of the matrix.

§ TransposeMult() [2/2]

Point4<TYPE> TransposeMult ( const Point4< TYPE > &  p) const

Multiply the give vector with the transpose of the matrix.

§ GetDeterminant()

TYPE GetDeterminant ( ) const

< Get the determinant of this matrix

§ Invert()

void Invert ( )

Invert this matrix.

§ GetInverse() [1/2]

void GetInverse ( Matrix34< TYPE > &  inverse) const

< Get the inverse of this matrix

§ GetInverse() [2/2]

Matrix34 GetInverse ( ) const

Get the inverse of this matrix.

§ OrthogonalizeX()

void OrthogonalizeX ( )

Orthogonalizes the matrix and removes the scale component, preserving the x direction.

§ OrthogonalizeY()

void OrthogonalizeY ( )

Orthogonalizes the matrix and removes the scale component, preserving the y direction.

§ OrthogonalizeZ()

void OrthogonalizeZ ( )

Orthogonalizes the matrix and removes the scale component, preserving the z direction.

§ IsIdentity()

bool IsIdentity ( TYPE  tollerance = TYPE(0.001)) const

Returns if the matrix is identity within the given error tollerance.

§ IsSymmetric()

bool IsSymmetric ( TYPE  tollerance = TYPE(0.001)) const

Returns if the matrix is symmetric within the given error tollerance.

§ MatrixIdentity()

static Matrix34 MatrixIdentity ( )
static

Returns an identity matrix.

§ MatrixNormal()

static Matrix34 MatrixNormal ( const Point3< TYPE > &  normal,
Point3< TYPE > &  dir 
)
static

Returns a matrix using normal, and approximate x direction.

§ MatrixRotationX()

static Matrix34 MatrixRotationX ( TYPE  angle)
static

Returns a rotation matrix around x axis by angle in radians.

§ MatrixRotationY()

static Matrix34 MatrixRotationY ( TYPE  angle)
static

Returns a rotation matrix around y axis by angle in radians.

§ MatrixRotationZ()

static Matrix34 MatrixRotationZ ( TYPE  angle)
static

Returns a rotation matrix around z axis by angle in radians.

§ MatrixRotationXYZ()

static Matrix34 MatrixRotationXYZ ( TYPE  angleX,
TYPE  angleY,
TYPE  angleZ 
)
static

Returns a rotation matrix around x, y, and then z axes by angle in radians (Rz * Ry * Rx)

§ MatrixRotationZYX()

static Matrix34 MatrixRotationZYX ( TYPE  angleX,
TYPE  angleY,
TYPE  angleZ 
)
static

Returns a rotation matrix around z, y, and then x axes by angle in radians (Rx * Ry * Rz)

§ MatrixRotation() [1/2]

static Matrix34 MatrixRotation ( const Point3< TYPE > &  axis,
TYPE  angle 
)
static

Returns a rotation matrix about the given axis by angle in radians.

§ MatrixRotation() [2/2]

static Matrix34 MatrixRotation ( const Point3< TYPE > &  from,
const Point3< TYPE > &  to 
)
static

Returns a rotation matrix that sets [from] unit vector to [to] unit vector.

§ MatrixScale() [1/3]

static Matrix34 MatrixScale ( TYPE  uniformScale)
static

Returns a uniform scale matrix.

§ MatrixScale() [2/3]

static Matrix34 MatrixScale ( TYPE  scaleX,
TYPE  scaleY,
TYPE  scaleZ 
)
static

Returns a scale matrix.

§ MatrixScale() [3/3]

static Matrix34 MatrixScale ( const Point3< TYPE > &  scale)
static

Returns a scale matrix.

§ MatrixTrans()

static Matrix34 MatrixTrans ( const Point3< TYPE > &  move)
static

Returns a translation matrix with no rotation or scale.

Friends And Related Function Documentation

§ operator*

Matrix34 operator* ( const TYPE  value,
const Matrix34< TYPE > &  right 
)
friend

multiply matrix by a value

§ Inverse

Matrix34 Inverse ( const Matrix34< TYPE > &  m)
friend

return the inverse of the matrix

Member Data Documentation

§ data

TYPE data[12]

Elements of the matrix are column-major:
| 0 3 6 9 |
| 1 4 7 10 |
| 2 5 8 11 |
.