PICCANTE  0.4
The hottest HDR imaging library!
Public Member Functions | Public Attributes | List of all members
pic::pic::Matrix3x3 Class Reference

The Matrix3x3 class provides methods for managing a 3 by 3 matrix. More...

#include <display.hpp>

Public Member Functions

 Matrix3x3 ()
 Matrix3x3. More...
 
 Matrix3x3 (float *data)
 Matrix3x3. More...
 
Matrix3x3 clone ()
 clone clones the matrix. More...
 
void set (const float *data)
 set sets the matrix up. More...
 
void set (Matrix3x3 *mtx)
 set sets the matrix up. More...
 
void getIdentity ()
 getIdentity sets the matrix as an identity matrix; diag(1, 1, 1); More...
 
Matrix3x3 mul (const Matrix3x3 &mtx)
 mul More...
 
float * mul (float *vec, float *ret)
 mul More...
 
float * mulH (float *vec, float *ret)
 MulH. More...
 
float * projection (float *vec, float *ret)
 projection More...
 
void crossProduct (float *t)
 crossProduct computes the cross product matrix More...
 
void add (float value)
 Add adds a value to the diagonal. More...
 
float determinant ()
 determinant computes the determinant of the matrix. More...
 
Matrix3x3inverse (Matrix3x3 *ret)
 inverse computes the inverse of the matrix. More...
 
Matrix3x3transpose (Matrix3x3 *ret)
 transpose computes the transposed matrix. More...
 
void setTranslationMatrix (float tx, float ty)
 setTranslationMatrix sets the matrix as a translation matrix. More...
 
void setRotationMatrix (float ang)
 setRotationMatrix sets the matrix as a rotation matrix More...
 
void setShearMatrix (float horizontal_shear, float vertical_shear)
 SetShearMatrix sets the matrix as a shear matrix. More...
 
void setScaleMatrix (float x_scale, float y_scale)
 SetScaleMatrix set the matrix as a scaling matrix. More...
 
void print ()
 print More...
 

Public Attributes

float data [9]
 

Detailed Description

The Matrix3x3 class provides methods for managing a 3 by 3 matrix.

Constructor & Destructor Documentation

◆ Matrix3x3() [1/2]

pic::pic::Matrix3x3::Matrix3x3 ( )
inline

◆ Matrix3x3() [2/2]

pic::pic::Matrix3x3::Matrix3x3 ( float *  data)
inline

Matrix3x3.

Parameters
data

Member Function Documentation

◆ add()

void pic::pic::Matrix3x3::add ( float  value)
inline

Add adds a value to the diagonal.

Parameters
valueis the value to be added.

◆ clone()

Matrix3x3 pic::pic::Matrix3x3::clone ( )
inline

clone clones the matrix.

Returns
it returns the cloned matrix.

◆ crossProduct()

void pic::pic::Matrix3x3::crossProduct ( float *  t)
inline

crossProduct computes the cross product matrix

Parameters
tis a three value array.

◆ determinant()

float pic::pic::Matrix3x3::determinant ( )
inline

determinant computes the determinant of the matrix.

Returns

◆ getIdentity()

void pic::pic::Matrix3x3::getIdentity ( )
inline

getIdentity sets the matrix as an identity matrix; diag(1, 1, 1);

◆ inverse()

Matrix3x3* pic::pic::Matrix3x3::inverse ( Matrix3x3 ret)
inline

inverse computes the inverse of the matrix.

Parameters
ret
Returns

◆ mul() [1/2]

Matrix3x3 pic::pic::Matrix3x3::mul ( const Matrix3x3 mtx)
inline

mul

Parameters
mtx
Returns

◆ mul() [2/2]

float* pic::pic::Matrix3x3::mul ( float *  vec,
float *  ret 
)
inline

mul

Parameters
vec
ret
Returns

◆ mulH()

float* pic::pic::Matrix3x3::mulH ( float *  vec,
float *  ret 
)
inline

MulH.

Parameters
vec
ret
Returns

◆ print()

void pic::pic::Matrix3x3::print ( )
inline

print

◆ projection()

float* pic::pic::Matrix3x3::projection ( float *  vec,
float *  ret 
)
inline

projection

Parameters
vec
ret
Returns

◆ set() [1/2]

void pic::pic::Matrix3x3::set ( const float *  data)
inline

set sets the matrix up.

Parameters
datainput data, they are assumed to be 9 floats. The matrix is stored by rows.

◆ set() [2/2]

void pic::pic::Matrix3x3::set ( Matrix3x3 mtx)
inline

set sets the matrix up.

Parameters
datainput data, they are assumed to be 9 floats. The matrix is stored by rows.

◆ setRotationMatrix()

void pic::pic::Matrix3x3::setRotationMatrix ( float  ang)
inline

setRotationMatrix sets the matrix as a rotation matrix

Parameters
ang

◆ setScaleMatrix()

void pic::pic::Matrix3x3::setScaleMatrix ( float  x_scale,
float  y_scale 
)
inline

SetScaleMatrix set the matrix as a scaling matrix.

Parameters
x_scale
y_scale

◆ setShearMatrix()

void pic::pic::Matrix3x3::setShearMatrix ( float  horizontal_shear,
float  vertical_shear 
)
inline

SetShearMatrix sets the matrix as a shear matrix.

Parameters
horizontal_shear
vertical_shear

◆ setTranslationMatrix()

void pic::pic::Matrix3x3::setTranslationMatrix ( float  tx,
float  ty 
)
inline

setTranslationMatrix sets the matrix as a translation matrix.

Parameters
tx
ty

◆ transpose()

Matrix3x3* pic::pic::Matrix3x3::transpose ( Matrix3x3 ret)
inline

transpose computes the transposed matrix.

Member Data Documentation

◆ data

float pic::pic::Matrix3x3::data[9]

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