SilverLining
Public Member Functions | Public Attributes | Friends | List of all members
SilverLining::Matrix4 Class Reference

An implementation of a 4x4 matrix and some simple operations on it. More...

#include <Matrix4.h>

Inheritance diagram for SilverLining::Matrix4:
Inheritance graph
[legend]
Collaboration diagram for SilverLining::Matrix4:
Collaboration graph
[legend]

Public Member Functions

 Matrix4 ()
 Default constructor; initializes the matrix to an identity transform.
 
 Matrix4 (const Matrix3 &m3)
 Construct from a Matrix3.
 
 Matrix4 (double e11, double e12, double e13, double e14, double e21, double e22, double e23, double e24, double e31, double e32, double e33, double e34, double e41, double e42, double e43, double e44)
 This constructor allows you to initialize the matrix as you please.
 
 Matrix4 (const double *m)
 Initializes the matrix from an array of 16 double-precision values (row-major).
 
 ~Matrix4 ()
 Destructor.
 
Matrix4 SILVERLINING_API operator* (const Matrix4 &mat) const
 Multiplies two matrices together.
 
Vector4 SILVERLINING_API operator* (const Vector4 &vec) const
 Transform a point by the matrix.
 
Vector3 SILVERLINING_API operator* (const Vector3 &vec) const
 Transform a point by the matrix.
 
void SILVERLINING_API Transpose ()
 Transposes the matrix in-place.
 
double *SILVERLINING_API GetRow (int row)
 Retrieves a pointer into the requested row of the matrix.
 

Public Attributes

double elem [4][4]
 Data members are public for convenience.
 

Friends

Vector4 SILVERLINING_API operator* (const Vector4 &vec, const Matrix4 &mat)
 Multiplies a 1x3 vector by a matrix, yielding a 1x3 vector.
 

Detailed Description

An implementation of a 4x4 matrix and some simple operations on it.

Constructor & Destructor Documentation

◆ Matrix4() [1/4]

SilverLining::Matrix4::Matrix4 ( )
inline

Default constructor; initializes the matrix to an identity transform.

◆ Matrix4() [2/4]

SilverLining::Matrix4::Matrix4 ( const Matrix3 m3)
inline

Construct from a Matrix3.

◆ Matrix4() [3/4]

SilverLining::Matrix4::Matrix4 ( double  e11,
double  e12,
double  e13,
double  e14,
double  e21,
double  e22,
double  e23,
double  e24,
double  e31,
double  e32,
double  e33,
double  e34,
double  e41,
double  e42,
double  e43,
double  e44 
)
inline

This constructor allows you to initialize the matrix as you please.

◆ Matrix4() [4/4]

SilverLining::Matrix4::Matrix4 ( const double *  m)
inline

Initializes the matrix from an array of 16 double-precision values (row-major).

◆ ~Matrix4()

SilverLining::Matrix4::~Matrix4 ( )
inline

Destructor.

Member Function Documentation

◆ GetRow()

double *SILVERLINING_API SilverLining::Matrix4::GetRow ( int  row)
inline

Retrieves a pointer into the requested row of the matrix.

◆ operator*() [1/3]

Matrix4 SILVERLINING_API SilverLining::Matrix4::operator* ( const Matrix4 mat) const

Multiplies two matrices together.

◆ operator*() [2/3]

Vector3 SILVERLINING_API SilverLining::Matrix4::operator* ( const Vector3 vec) const

Transform a point by the matrix.

◆ operator*() [3/3]

Vector4 SILVERLINING_API SilverLining::Matrix4::operator* ( const Vector4 vec) const

Transform a point by the matrix.

◆ Transpose()

void SILVERLINING_API SilverLining::Matrix4::Transpose ( )
inline

Transposes the matrix in-place.

Friends And Related Function Documentation

◆ operator*

Vector4 SILVERLINING_API operator* ( const Vector4 vec,
const Matrix4 mat 
)
friend

Multiplies a 1x3 vector by a matrix, yielding a 1x3 vector.


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