Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

nvmath::Mat44f Class Reference

4x4 matrix class. More...

#include <Mat44f.h>

Inheritance diagram for nvmath::Mat44f:

Inheritance graph
[legend]
Collaboration diagram for nvmath::Mat44f:

Collaboration graph
[legend]
List of all members.

Public Methods

NVSG_API Mat44f (void)
 Default constructor. More...

NVSG_API Mat44f (float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
 Constructor using 16 floats. More...

NVSG_API Mat44f (const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3)
 Constructor using four row vectors. More...

NVSG_API Mat44f (const Vec3f &trans, const Quatf &rot)
 Constructor by Translation, Rotation, and optional Scaling. More...

NVSG_API Mat44f (const Matnnf< 4 > &m)
 Copy constructor. More...

NVSG_API void set (const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3)
 Set the matrix with four row vectors. More...


Related Functions

(Note that these are not member functions.)

void decompose (const Mat44f &mat, Vec3f &scaling, Vec3f &shearing, Quatf &orientation, Vec3f &translation)
NVSG_API Mat44f operator * (const Mat44f &m0, const Mat44f &m1)

Detailed Description

4x4 matrix class.

This class is used to handle full transformations (including rotations, scalings, translations, and projections).

Note:
Have a look into the nvmath namespace reference to find additional convenient functions (e.g. decompose,...)


Constructor & Destructor Documentation

nvmath::Mat44f::Mat44f void    [inline]
 

Default constructor.

For performance reasons no initialization is performed.

nvmath::Mat44f::Mat44f float    a00,
float    a01,
float    a02,
float    a03,
float    a10,
float    a11,
float    a12,
float    a13,
float    a20,
float    a21,
float    a22,
float    a23,
float    a30,
float    a31,
float    a32,
float    a33
[inline]
 

Constructor using 16 floats.

The 16 floats are used as the matrix elements. No normalization is performed.

nvmath::Mat44f::Mat44f const Vec4f   row0,
const Vec4f   row1,
const Vec4f   row2,
const Vec4f   row3
[inline]
 

Constructor using four row vectors.

The four vectors are used as the four rows of the matrix. No normalization is performed.

Parameters:
row0  row zero
row1  row one
row2  row two
row3  row three

nvmath::Mat44f::Mat44f const Vec3f   trans,
const Quatf   rot
[inline]
 

Constructor by Translation, Rotation, and optional Scaling.

This constructs a matrix that represents the concatenation T * R.

Parameters:
trans  translation
ori  quaternion for rotation

nvmath::Mat44f::Mat44f const Matnnf< 4 > &    m [inline]
 

Copy constructor.


Member Function Documentation

void nvmath::Mat44f::set const Vec4f   row0,
const Vec4f   row1,
const Vec4f   row2,
const Vec4f   row3
[inline]
 

Set the matrix with four row vectors.

Parameters:
row0  row zero
row1  row one
row2  row two
row3  row three


Friends And Related Function Documentation

void decompose const Mat44f &    mat,
Vec3f   scaling,
Vec3f   shearing,
Quatf   orientation,
Vec3f   translation
[related]
 

Decompose the matrix mat into scaling, shearing, orientation, and translation.

Parameters:
mat  matrix to decompose
scaling  scaling factors
shearing  shearing factors (xy, xz, yz)
orientation  rotational part
translation  translation vector

NVSG_API Mat44f operator * const Mat44f &    m0,
const Mat44f &    m1
[related]
 

Matrix multiplication with a matrix (i.e. concatenation) operator.

Returns:
multiplied (concatenated) matrix


The documentation for this class was generated from the following file:
Generated on Tue Mar 1 13:20:22 2005 for NVSGSDK by NVIDIA