Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class 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 Member Functions

NVSG_API Mat44f (void)
 Default constructor.
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.
NVSG_API Mat44f (const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3)
 Constructor using four row vectors.
NVSG_API Mat44f (const Vec3f &trans, const Quatf &rot)
 Constructor by Translation, Rotation, and optional Scaling.
NVSG_API Mat44f (const Matnnf< 4 > &m)
 Copy constructor.
NVSG_API void set (const Vec4f &row0, const Vec4f &row1, const Vec4f &row2, const Vec4f &row3)
 Set the matrix with four row vectors.

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:39 2005 for NVSGSDK by NVIDIA