Blender  V2.59
Public Member Functions | Protected Attributes
MT_Matrix3x3 Class Reference

#include <MT_Matrix3x3.h>

List of all members.

Public Member Functions

 MT_Matrix3x3 ()
 MT_Matrix3x3 (const float *m)
 MT_Matrix3x3 (const double *m)
 MT_Matrix3x3 (const MT_Quaternion &q)
 MT_Matrix3x3 (const MT_Quaternion &q, const MT_Vector3 &s)
 MT_Matrix3x3 (const MT_Vector3 &euler)
 MT_Matrix3x3 (const MT_Vector3 &euler, const MT_Vector3 &s)
 MT_Matrix3x3 (MT_Scalar xx, MT_Scalar xy, MT_Scalar xz, MT_Scalar yx, MT_Scalar yy, MT_Scalar yz, MT_Scalar zx, MT_Scalar zy, MT_Scalar zz)
MT_Vector3operator[] (int i)
const MT_Vector3operator[] (int i) const
MT_Vector3 getColumn (int i) const
void setColumn (int i, const MT_Vector3 &v)
void setValue (const float *m)
void setValue (const double *m)
void setValue3x3 (const float *m)
void setValue3x3 (const double *m)
void setValue (MT_Scalar xx, MT_Scalar xy, MT_Scalar xz, MT_Scalar yx, MT_Scalar yy, MT_Scalar yz, MT_Scalar zx, MT_Scalar zy, MT_Scalar zz)
void setRotation (const MT_Quaternion &q)
void setEuler (const MT_Vector3 &euler)
void getEuler (MT_Scalar &yaw, MT_Scalar &pitch, MT_Scalar &roll) const
void scale (MT_Scalar x, MT_Scalar y, MT_Scalar z)
MT_Matrix3x3 scaled (MT_Scalar x, MT_Scalar y, MT_Scalar z) const
void setIdentity ()
void getValue (float *m) const
void getValue (double *m) const
void getValue3x3 (float *m) const
void getValue3x3 (double *m) const
MT_Quaternion getRotation () const
MT_Matrix3x3operator*= (const MT_Matrix3x3 &m)
MT_Scalar tdot (int c, const MT_Vector3 &v) const
MT_Scalar cofac (int r1, int c1, int r2, int c2) const
MT_Scalar determinant () const
MT_Matrix3x3 adjoint () const
MT_Matrix3x3 absolute () const
MT_Matrix3x3 transposed () const
void transpose ()
MT_Matrix3x3 inverse () const
void invert ()

Protected Attributes

MT_Vector3 m_el [3]

Detailed Description

Definition at line 56 of file MT_Matrix3x3.h.


Constructor & Destructor Documentation

MT_Matrix3x3::MT_Matrix3x3 ( ) [inline]

Definition at line 58 of file MT_Matrix3x3.h.

Referenced by absolute(), adjoint(), inverse(), scaled(), and transposed().

MT_Matrix3x3::MT_Matrix3x3 ( const float *  m) [inline]

Definition at line 59 of file MT_Matrix3x3.h.

References setValue().

MT_Matrix3x3::MT_Matrix3x3 ( const double *  m) [inline]

Definition at line 60 of file MT_Matrix3x3.h.

References setValue().

MT_Matrix3x3::MT_Matrix3x3 ( const MT_Quaternion q) [inline]

Definition at line 61 of file MT_Matrix3x3.h.

References setRotation().

MT_Matrix3x3::MT_Matrix3x3 ( const MT_Quaternion q,
const MT_Vector3 s 
) [inline]

Definition at line 63 of file MT_Matrix3x3.h.

References scale(), and setRotation().

MT_Matrix3x3::MT_Matrix3x3 ( const MT_Vector3 euler) [inline]

Definition at line 68 of file MT_Matrix3x3.h.

References setEuler().

MT_Matrix3x3::MT_Matrix3x3 ( const MT_Vector3 euler,
const MT_Vector3 s 
) [inline]

Definition at line 69 of file MT_Matrix3x3.h.

References scale(), and setEuler().

MT_Matrix3x3::MT_Matrix3x3 ( MT_Scalar  xx,
MT_Scalar  xy,
MT_Scalar  xz,
MT_Scalar  yx,
MT_Scalar  yy,
MT_Scalar  yz,
MT_Scalar  zx,
MT_Scalar  zy,
MT_Scalar  zz 
) [inline]

Definition at line 74 of file MT_Matrix3x3.h.

References setValue().


Member Function Documentation

GEN_INLINE MT_Matrix3x3 MT_Matrix3x3::absolute ( ) const

Definition at line 55 of file MT_Matrix3x3.inl.

References m_el, MT_abs(), and MT_Matrix3x3().

GEN_INLINE MT_Matrix3x3 MT_Matrix3x3::adjoint ( ) const

Definition at line 72 of file MT_Matrix3x3.inl.

References cofac(), and MT_Matrix3x3().

MT_Scalar MT_Matrix3x3::cofac ( int  r1,
int  c1,
int  r2,
int  c2 
) const [inline]

Definition at line 234 of file MT_Matrix3x3.h.

References m_el.

Referenced by adjoint(), and inverse().

GEN_INLINE MT_Scalar MT_Matrix3x3::determinant ( ) const

Definition at line 51 of file MT_Matrix3x3.inl.

References MT_triple().

Referenced by LOD_Quadric::Optimize().

MT_Vector3 MT_Matrix3x3::getColumn ( int  i) const [inline]
void MT_Matrix3x3::getEuler ( MT_Scalar yaw,
MT_Scalar pitch,
MT_Scalar roll 
) const [inline]

Definition at line 164 of file MT_Matrix3x3.h.

References KDL::asin(), KDL::atan2(), cos(), m_el, and MT_PI().

Referenced by KX_IpoSGController::Update().

GEN_INLINE MT_Quaternion MT_Matrix3x3::getRotation ( ) const
void MT_Matrix3x3::getValue ( float *  m) const [inline]
void MT_Matrix3x3::getValue ( double *  m) const [inline]

Definition at line 208 of file MT_Matrix3x3.h.

References m_el.

void MT_Matrix3x3::getValue3x3 ( float *  m) const [inline]

Definition at line 214 of file MT_Matrix3x3.h.

References m_el.

void MT_Matrix3x3::getValue3x3 ( double *  m) const [inline]

Definition at line 220 of file MT_Matrix3x3.h.

References m_el.

GEN_INLINE MT_Matrix3x3 MT_Matrix3x3::inverse ( ) const
GEN_INLINE void MT_Matrix3x3::invert ( )

Definition at line 90 of file MT_Matrix3x3.inl.

References inverse().

GEN_INLINE MT_Matrix3x3 & MT_Matrix3x3::operator*= ( const MT_Matrix3x3 m)

Definition at line 44 of file MT_Matrix3x3.inl.

References m_el, setValue(), and tdot().

MT_Vector3& MT_Matrix3x3::operator[] ( int  i) [inline]

Definition at line 82 of file MT_Matrix3x3.h.

References i, and m_el.

const MT_Vector3& MT_Matrix3x3::operator[] ( int  i) const [inline]

Definition at line 83 of file MT_Matrix3x3.h.

References i, and m_el.

void MT_Matrix3x3::scale ( MT_Scalar  x,
MT_Scalar  y,
MT_Scalar  z 
) [inline]
MT_Matrix3x3 MT_Matrix3x3::scaled ( MT_Scalar  x,
MT_Scalar  y,
MT_Scalar  z 
) const [inline]
void MT_Matrix3x3::setColumn ( int  i,
const MT_Vector3 v 
) [inline]

Definition at line 88 of file MT_Matrix3x3.h.

References i, and m_el.

void MT_Matrix3x3::setEuler ( const MT_Vector3 euler) [inline]

setEuler

Parameters:
eulera const reference to a MT_Vector3 of euler angles These angles are used to produce a rotation matrix. The euler angles are applied in ZYX order. I.e a vector is first rotated about X then Y and then Z

Definition at line 147 of file MT_Matrix3x3.h.

References cos(), setValue(), si, and sin().

Referenced by MT_Matrix3x3().

void MT_Matrix3x3::setIdentity ( ) [inline]
void MT_Matrix3x3::setRotation ( const MT_Quaternion q) [inline]
void MT_Matrix3x3::setValue ( const float *  m) [inline]
void MT_Matrix3x3::setValue ( const double *  m) [inline]

Definition at line 100 of file MT_Matrix3x3.h.

References m_el.

void MT_Matrix3x3::setValue ( MT_Scalar  xx,
MT_Scalar  xy,
MT_Scalar  xz,
MT_Scalar  yx,
MT_Scalar  yy,
MT_Scalar  yz,
MT_Scalar  zx,
MT_Scalar  zy,
MT_Scalar  zz 
) [inline]

Definition at line 118 of file MT_Matrix3x3.h.

References m_el.

void MT_Matrix3x3::setValue3x3 ( const float *  m) [inline]

Definition at line 106 of file MT_Matrix3x3.h.

References m_el.

void MT_Matrix3x3::setValue3x3 ( const double *  m) [inline]

Definition at line 112 of file MT_Matrix3x3.h.

References m_el.

MT_Scalar MT_Matrix3x3::tdot ( int  c,
const MT_Vector3 v 
) const [inline]

Definition at line 230 of file MT_Matrix3x3.h.

References m_el.

Referenced by operator*(), and operator*=().

GEN_INLINE void MT_Matrix3x3::transpose ( )

Definition at line 68 of file MT_Matrix3x3.inl.

References transposed().

Referenced by IK_QOrientationTask::ComputeJacobian().

GEN_INLINE MT_Matrix3x3 MT_Matrix3x3::transposed ( ) const

Member Data Documentation


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