Public Member Functions | Public Attributes

matrix4_t Struct Reference
[Core Geometry Objects]

4x4 matrix object. More...

#include <matrix_4.h>

List of all members.

Public Member Functions

void clear (void) throw ()
void setZero (void) throw ()
void setIdentity (void) throw ()
void addTranslation (const point3d_t &t) throw ()
void operator+= (const point3d_t &t) throw ()
void setTranslation (const point3d_t &t) throw ()
void operator= (const point3d_t &t) throw ()
const point3d_t getTranslation (void) const throw ()
void setZRotation (float radians) throw ()
void setXRotation (float radians) throw ()
void setYRotation (float radians) throw ()
void setXYZScale (float r) throw ()
void transpose (void) throw ()
void dump (const char *txt) const throw ()
point3d_t transform (const point3d_t &p) const throw ()
 transforms 3D point p.
void setToProductOf (const matrix4_t &A, const matrix4_t &B) throw ()
 sets M = AB (note: order is important for matrix multiplication!)
void addMatrix (const matrix4_t &A) throw ()
 M = M + A CAREFUL: do you really want to do this? Not legal for 3D xforms.
void subtractMatrix (const matrix4_t &B) throw ()
 M = M - A CAREFUL: do you really want to do this? Not legal for 3D xforms.
void scale (float r) throw ()
 M = r * M CAREFUL: do you really want to do this? Not legal for 3D xforms.

Public Attributes

float m [16]

Detailed Description

4x4 matrix object.

Note that this matrix is especially optimized for 3D transformations.

Definition at line 52 of file matrix_4.h.


Member Function Documentation

void matrix4_t::clear ( void   )  throw () [inline]

Definition at line 55 of file matrix_4.h.

void matrix4_t::setZero ( void   )  throw ()

Definition at line 59 of file matrix_4.cpp.

void matrix4_t::setIdentity ( void   )  throw () [inline]

Definition at line 57 of file matrix_4.h.

void matrix4_t::addTranslation ( const point3d_t t  )  throw ()

Definition at line 87 of file matrix_4.cpp.

void matrix4_t::operator+= ( const point3d_t t  )  throw () [inline]

Definition at line 60 of file matrix_4.h.

void matrix4_t::setTranslation ( const point3d_t t  )  throw () [inline]

Definition at line 64 of file matrix_4.h.

void matrix4_t::operator= ( const point3d_t t  )  throw () [inline]

Definition at line 68 of file matrix_4.h.

const point3d_t matrix4_t::getTranslation ( void   )  const throw () [inline]

Definition at line 72 of file matrix_4.h.

void matrix4_t::setZRotation ( float  radians  )  throw ()

Definition at line 101 of file matrix_4.cpp.

void matrix4_t::setXRotation ( float  radians  )  throw ()

Definition at line 132 of file matrix_4.cpp.

void matrix4_t::setYRotation ( float  radians  )  throw ()

Definition at line 163 of file matrix_4.cpp.

void matrix4_t::setXYZScale ( float  r  )  throw ()

Definition at line 194 of file matrix_4.cpp.

void matrix4_t::transpose ( void   )  throw ()

Definition at line 346 of file matrix_4.cpp.

void matrix4_t::dump ( const char *  txt  )  const throw ()

Definition at line 222 of file matrix_4.cpp.

point3d_t matrix4_t::transform ( const point3d_t p  )  const throw ()

transforms 3D point p.

NOTE: assumes this 4x4 matrix is the standard form for 3D transformations!

Definition at line 242 of file matrix_4.cpp.

void matrix4_t::setToProductOf ( const matrix4_t A,
const matrix4_t B 
) throw ()

sets M = AB (note: order is important for matrix multiplication!)

Definition at line 267 of file matrix_4.cpp.

void matrix4_t::addMatrix ( const matrix4_t A  )  throw ()

M = M + A CAREFUL: do you really want to do this? Not legal for 3D xforms.

Definition at line 290 of file matrix_4.cpp.

void matrix4_t::subtractMatrix ( const matrix4_t B  )  throw ()

M = M - A CAREFUL: do you really want to do this? Not legal for 3D xforms.

Definition at line 318 of file matrix_4.cpp.

void matrix4_t::scale ( float  r  )  throw ()

M = r * M CAREFUL: do you really want to do this? Not legal for 3D xforms.


Member Data Documentation

float matrix4_t::m[16]

Definition at line 106 of file matrix_4.h.


The documentation for this struct was generated from the following files: