deMatrix3 Class Reference
[Matrix]

3x3 matrix class

This is a C++ wrapper class of deMatrix3f. More...

#include <deMatrix3.h>

List of all members.

Public Member Functions

 operator deFloat * ()
 cast operator
 operator const deFloat * () const
 cast operator
deFloatoperator[] (const deInt row)
const deFloatoperator[] (const deInt row) const
deFloatelementAt (const deInt i, const deInt j)
const deFloatelementAt (const deInt i, const deInt j) const
DE_MATH_API void operator= (const deMatrix3 &m)
 this = m
DE_MATH_API void zero ()
 this = zero matrix
DE_MATH_API void identity ()
 this = identity matrix
DE_MATH_API void negate (const deMatrix3 &m)
 this = -m
DE_MATH_API void add (const deMatrix3 &m1, const deMatrix3 &m2)
 this = m1 + m2
DE_MATH_API void subtract (const deMatrix3 &m1, const deMatrix3 &m2)
 this = m1 - m2
DE_MATH_API void multiply (const deMatrix3 &m1, const deMatrix3 &m2)
 this = m1 * m2
DE_MATH_API void transposedMultiply (const deMatrix3 &m1, const deMatrix3 &m2)
 this = m1^T * m2
DE_MATH_API void multiplyTransposed (const deMatrix3 &m1, const deMatrix3 &m2)
 this = m1 * m2^T
DE_MATH_API void multiply (const deMatrix3 &m, const deFloat s)
 this = m1 * m2^T
DE_MATH_API void operator+= (const deMatrix3 &m)
 this += m
DE_MATH_API void operator-= (const deMatrix3 &m)
 this -= m
DE_MATH_API void operator *= (const deFloat s)
 this *= s
DE_MATH_API void diagonal (const deFloat x, const deFloat y, const deFloat z)
 diag(this) = (x, y, z), offdiag(this) = 0
DE_MATH_API void diagonal (const deVector3 &v)
 diag(this) = v, offdiag(this) = 0
DE_MATH_API deFloat det () const
DE_MATH_API void inverseDet (const deMatrix3 &m)
 this = m^-1 using determinent
DE_MATH_API void inverseDetSPD (const deMatrix3 &m)
 this = m^-1 using determinent where m is SPD
DE_MATH_API void ludecomp (const deMatrix3 &m)
 this = LU decomposition of m
DE_MATH_API void transpose (const deMatrix3 &m)
 this = m^T
DE_MATH_API void multiplyTransposed (const deVector3 &v1, const deVector3 &v2)
 this = v1 * v2^T
DE_MATH_API void crossMultiply (const deVector3 &v, const deMatrix3 &m)
 this = (v x) * m
DE_MATH_API void cross (const deVector3 &v)
 this = (v x)
DE_MATH_API void multiplyCross (const deMatrix3 &m, const deVector3 &v)
 this = m * (v x)
Rotation matrix only
DE_MATH_API void eulerXYZ (const deFloat x, const deFloat y, const deFloat z)
 this = X-Y-Z Euler angles
DE_MATH_API void eulerZYX (const deFloat x, const deFloat y, const deFloat z)
 this = Z-Y-X Euler angles
DE_MATH_API void set (const deQuaternion &q)
 this = q
DE_MATH_API void set (const deInt axis, const deFloat angle)
 this = rotation matrix of axis-angle representation
DE_MATH_API void set (const deVector3 &axis, const deFloat angle)
 this = rotation matrix of axis-angle representation
DE_MATH_API void set (const deFloat a0, const deFloat a1, const deFloat a2, const deFloat a3, const deFloat a4, const deFloat a5, const deFloat a6, const deFloat a7, const deFloat a8)
 this = [a0 ... a8]

Friends

class deVector3
class deQuaternion


Detailed Description

3x3 matrix class

This is a C++ wrapper class of deMatrix3f.

Remarks:
this matrix is also used as a rotation matrix in deTransformation.
See also:
deMatrix3f.h, deQuaternion, deTransform


Member Function Documentation

DE_MATH_API void deMatrix3::add const deMatrix3 m1,
const deMatrix3 m2
 

this = m1 + m2

DE_MATH_API void deMatrix3::cross const deVector3 v  ) 
 

this = (v x)

DE_MATH_API void deMatrix3::crossMultiply const deVector3 v,
const deMatrix3 m
 

this = (v x) * m

DE_MATH_API deFloat deMatrix3::det  )  const
 

Returns:
det(this)

DE_MATH_API void deMatrix3::diagonal const deVector3 v  ) 
 

diag(this) = v, offdiag(this) = 0

DE_MATH_API void deMatrix3::diagonal const deFloat  x,
const deFloat  y,
const deFloat  z
 

diag(this) = (x, y, z), offdiag(this) = 0

const deFloat& deMatrix3::elementAt const deInt  i,
const deInt  j
const [inline]
 

Returns:
this[i][j]

deFloat& deMatrix3::elementAt const deInt  i,
const deInt  j
[inline]
 

Returns:
this[i][j]

DE_MATH_API void deMatrix3::eulerXYZ const deFloat  x,
const deFloat  y,
const deFloat  z
 

this = X-Y-Z Euler angles

DE_MATH_API void deMatrix3::eulerZYX const deFloat  x,
const deFloat  y,
const deFloat  z
 

this = Z-Y-X Euler angles

DE_MATH_API void deMatrix3::identity  ) 
 

this = identity matrix

DE_MATH_API void deMatrix3::inverseDet const deMatrix3 m  ) 
 

this = m^-1 using determinent

DE_MATH_API void deMatrix3::inverseDetSPD const deMatrix3 m  ) 
 

this = m^-1 using determinent where m is SPD

DE_MATH_API void deMatrix3::ludecomp const deMatrix3 m  ) 
 

this = LU decomposition of m

DE_MATH_API void deMatrix3::multiply const deMatrix3 m,
const deFloat  s
 

this = m1 * m2^T

DE_MATH_API void deMatrix3::multiply const deMatrix3 m1,
const deMatrix3 m2
 

this = m1 * m2

DE_MATH_API void deMatrix3::multiplyCross const deMatrix3 m,
const deVector3 v
 

this = m * (v x)

DE_MATH_API void deMatrix3::multiplyTransposed const deVector3 v1,
const deVector3 v2
 

this = v1 * v2^T

DE_MATH_API void deMatrix3::multiplyTransposed const deMatrix3 m1,
const deMatrix3 m2
 

this = m1 * m2^T

DE_MATH_API void deMatrix3::negate const deMatrix3 m  ) 
 

this = -m

DE_MATH_API void deMatrix3::operator *= const deFloat  s  ) 
 

this *= s

deMatrix3::operator const deFloat *  )  const [inline]
 

cast operator

deMatrix3::operator deFloat *  )  [inline]
 

cast operator

DE_MATH_API void deMatrix3::operator+= const deMatrix3 m  ) 
 

this += m

DE_MATH_API void deMatrix3::operator-= const deMatrix3 m  ) 
 

this -= m

DE_MATH_API void deMatrix3::operator= const deMatrix3 m  ) 
 

this = m

const deFloat* deMatrix3::operator[] const deInt  row  )  const [inline]
 

Returns:
row

deFloat* deMatrix3::operator[] const deInt  row  )  [inline]
 

Returns:
row

DE_MATH_API void deMatrix3::set const deFloat  a0,
const deFloat  a1,
const deFloat  a2,
const deFloat  a3,
const deFloat  a4,
const deFloat  a5,
const deFloat  a6,
const deFloat  a7,
const deFloat  a8
 

this = [a0 ... a8]

DE_MATH_API void deMatrix3::set const deVector3 axis,
const deFloat  angle
 

this = rotation matrix of axis-angle representation

DE_MATH_API void deMatrix3::set const deInt  axis,
const deFloat  angle
 

this = rotation matrix of axis-angle representation

DE_MATH_API void deMatrix3::set const deQuaternion q  ) 
 

this = q

DE_MATH_API void deMatrix3::subtract const deMatrix3 m1,
const deMatrix3 m2
 

this = m1 - m2

DE_MATH_API void deMatrix3::transpose const deMatrix3 m  ) 
 

this = m^T

DE_MATH_API void deMatrix3::transposedMultiply const deMatrix3 m1,
const deMatrix3 m2
 

this = m1^T * m2

DE_MATH_API void deMatrix3::zero  ) 
 

this = zero matrix


Friends And Related Function Documentation

friend class deQuaternion [friend]
 

friend class deVector3 [friend]
 


The documentation for this class was generated from the following files:
Generated on Sun Apr 9 22:12:45 2006 for TAO by  doxygen 1.4.6-NO